码迷,mamicode.com
首页 > 数据库 > 详细

PyDeadObjectError: The C++ part of the CMainFrame object has been deleted, attribute access no longer allowed

时间:2014-08-03 15:04:05      阅读:376      评论:0      收藏:0      [点我收藏+]

标签:使用   art   问题   ar   c++   python   c   ad   

  在wxpython做的GUI主线程结束时,由于一个正在运行的子线程无法正常地结束而RAISE出了如标题所示的异常。原因是wxpython的frame已经析构而不可访问其属性。

  KILL一个子线程,方法有二:1. threading.setDaemon(True)为后台线程,当主线程结束时随之退出;2. 在线程函数中添加结束的标志变量,退出时使用此变量而结束此线程;但在这里两个方法都不能使子线程正常退出,从而不能解决这个异常的抛出问题,原因暂时还没弄清。

  看了所抛出异常的内容,于是想到在except到的异常中,利用python的callable()函数来检测框架的引用是否可以访问,if not callable(self): return

PyDeadObjectError: The C++ part of the CMainFrame object has been deleted, attribute access no longer allowed,布布扣,bubuko.com

PyDeadObjectError: The C++ part of the CMainFrame object has been deleted, attribute access no longer allowed

标签:使用   art   问题   ar   c++   python   c   ad   

原文地址:http://www.cnblogs.com/jacksonshi/p/3888302.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!