首页 > 代码库 > PyDeadObjectError: The C++ part of the CMainFrame object has been deleted, attribute access no longer allowed
PyDeadObjectError: The C++ part of the CMainFrame object has been deleted, attribute access no longer allowed
在wxpython做的GUI主线程结束时,由于一个正在运行的子线程无法正常地结束而RAISE出了如标题所示的异常。原因是wxpython的frame已经析构而不可访问其属性。
KILL一个子线程,方法有二:1. threading.setDaemon(True)为后台线程,当主线程结束时随之退出;2. 在线程函数中添加结束的标志变量,退出时使用此变量而结束此线程;但在这里两个方法都不能使子线程正常退出,从而不能解决这个异常的抛出问题,原因暂时还没弄清。
看了所抛出异常的内容,于是想到在except到的异常中,利用python的callable()函数来检测框架的引用是否可以访问,if not callable(self): return
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。