首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wxPython: PyDeadObjectError

wxPython: PyDeadObjectError
EN

Stack Overflow用户
提问于 2013-08-12 23:40:32
回答 1查看 2K关注 0票数 2

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

代码语言:javascript
复制
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/的代码。

如果有人能帮我,那就太好了

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-13 13:32:19

如果你用X关闭这个框架,那么你就是在破坏这个框架。你得把它藏起来。我写了几篇关于这方面的教程,您可能想看看:

  • http://www.blog.pythonlibrary.org/2013/07/12/wxpython-how-to-minimize-to-system-tray/
  • http://www.blog.pythonlibrary.org/2011/12/13/wxpython-101-creating-taskbar-icons/

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18198413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档