wxPython:PyDeadObjectError

时间:2013-08-12 23:40:32

标签: python wxpython

遇到我从未听说过的错误。我有一个任务管理器,你可以最小化到系统托盘,当你左键单击它将重新打开的图标,但当我这样做时,我得到一个Pydeadobjecterror。我认为这与我在一个wxpyton类中有两个继承的事实有关。然后我删除了继承,现在我有错误。这是错误:

Traceback (most recent call last):
    File "C:\Python27\TrayIcon.py", line 25, in LeftClick
       self.frame.Show()
   File "C:\Python27\lib\site-packages\wx-2.8-msw-unicode\wx\_core.py", line 14619, in __getattr__
   raise PyDeadObjectError(self.attrStr % self._name)
wx._core.PyDeadObjectError: The C++ part of the MainFrame object has been deleted, attribute access no longer    allowed.

所以任何方式我没有时间将我的代码分割成多个文件,所以代码大约有400行,所以我只是把它粘贴在比粘贴它更容易的东西上抱歉,但是继续链接{{3显然这是错误为http://bpaste.net/show/liDNQVppFldurLcCfvK8/

的代码

如果有人可以帮助我那将会很棒

1 个答案:

答案 0 :(得分:5)

如果您使用X关闭框架,则表示您正在销毁框架。你需要隐藏它。我写了几篇关于这个的教程,你可能想看一下:

基本思路是捕捉EVT_CLOSE并隐藏框架而不是关闭框架。您只需右键单击系统托盘图标即可关闭应用程序。您还想捕获EVT_ICONIZE,以便在最小化帧时,可以隐藏帧。