正如标题所说,这件事是什么,我该如何处理呢?
这是一个QObject
并要求QObject
作为其父级。但与此同时它的子对象显然是QWidgets
。
通常使用QObject
s,您可以让父母在删除父项时将其删除,也可以自行删除。但QSystemTrayIcon
似乎没有这种方式 - 我尝试将它作为任意QObject的子项,然后让它的父级删除它 - 当我这样做时,一个延迟的事件被发送到QSystemTrayIcon家长删除。在OSX上这是段错误,因为它最终向无效对象发送obj消息。
这可能是因为QMainWindow在我的应用程序中同时消失了。
如果我必须在取消它之后明确删除它,为什么?如果是这种情况,听起来这是时间依赖性的。
如果QSystemTrayIcon
真的只想要一个QWidget
作为其父级,为什么它的构造函数不是这样编写的?
答案 0 :(得分:0)
以下方法有效:
Tray内部使用QWidget,当QApplication实例已经被破坏时,它的删除工作不正确。
答案 1 :(得分:0)
就这些
trayIcon->setVisible(false);
exit(0);