QSystemTrayIcon在4.8 -如何删除这个东西
QSystemTrayIcon in 4.8 - how to delete this thing?
正如标题所说,这是什么,我如何处理它?
它是QObject
,请求QObject
作为它的父结点。但同时它的子对象显然是QWidgets
。
通常对于QObject
s,您可以在删除父节点时让父节点删除它,或者您可以自己删除它。但是QSystemTrayIcon
似乎不这样工作-我试过使它成为任意QObject的子对象,然后让它的父对象删除它-当我这样做时,一个挥之不去的事件被发送到已被父对象删除的QSystemTrayIcon。在OSX上,这个分段错误是因为它最终向无效对象发送了一个obj消息。
这可能是因为QMainWindow在我的应用程序中同时消失了。
如果我必须在取消子节点后显式地删除它,为什么?如果是这样的话,这听起来像是时间相关的。
如果QSystemTrayIcon
真的只是想要一个QWidget
作为它的父节点,为什么它的构造函数不是这样写的?
以下方法有效:
- 子类QApplication
- 让QSystemTrayIcon实例成为app实例的子实例,如果你想
- 创建自定义应用析构函数,首先删除托盘
托盘内部使用QWidget,当QApplication实例已经被销毁时,它的删除工作不正确。
就这些
trayIcon->setVisible(false);
exit(0);
相关文章:
- 在 C++ 的自定义运算符中删除与删除[](不同于常见的删除与删除[]问题)
- C++链表删除和删除返回功能
- 从链表中删除值/删除未动态分配的值
- 当我使用dynamic_cast并删除对象删除时,析构函数是如何工作的?
- 如何在 C++ 中使用删除运算符删除单个数据
- 为什么擦除+删除比删除更有效
- 用户使用C++中的删除功能删除文件
- 删除和删除[]在内部如何工作?
- 当删除或删除[]被执行时,计算机会做什么?
- 如何在不删除C++集中删除项目?
- 如何在C 中删除或删除.jpg和.dpx图像文件
- 删除或删除 [] 在新的 int[][] 上
- 在 C++ 中使用 try-catch 进行删除 [] 或删除操作是否必要
- C++删除和删除中的逻辑[]
- 是否有任何工具可以警告可能滥用删除或删除[]
- 在函数调用中堆和删除.如何删除本地动态内存
- 删除[]与删除在for循环中
- 使用单个删除运算符删除多个指针
- 如何替换删除和删除[]
- Qt;Q删除和删除小部件.setParent(NULL)是必需的