2

遇到一个我从未听说过的错误。我有一个任务管理器,您可以将其最小化到系统托盘,当您左键单击该图标时,它将重新打开,但是当我这样做时,我得到一个 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 行长,所以我只是将它粘贴在比粘贴在这里更容易的地方,抱歉,这里是链接 http://bpaste。 net/show/liDNQVppFldurLcCfvK8/显然这是错误为http://bpaste.net/show/etcWMPqFC8H6NQRG7uYV/的代码

如果有人可以帮助我,那就太好了

4

1 回答 1

5

如果你用 X 关闭框架,那么你正在破坏框架。你需要隐藏它。我写了一些关于这个的教程,你可能想看看:

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

于 2013-08-13T13:32:19.567 回答