Qt应用程序停止后如何关闭托盘图标

8

我在Windows下遇到了托盘图标的小问题。当我的Qt应用程序停止(正常退出)后,图标仍然留在系统栏中。只有当我将鼠标光标移到图标上时,它才会消失。我尝试在窗口的析构函数中隐藏它,但失败了:我尝试使用.setVisible(false)

有什么想法吗?谢谢。

附言:我记得我在SWT / Java中也遇到了同样的问题。


为什么你会调用 setVisible(false) 而不是直接销毁小部件? - David Heffernan
你如何退出应用程序? - atamanroman
@David: 我使用了 setVisible(false) 函数,因为该函数会导致托盘图标消失。据我所知,Qt 无论如何都会销毁小部件。我还尝试使用 delete 运算符销毁托盘图标。 - Sebastian Dusza
@atamanroman:正常退出。我按窗口标题栏上的[x]按钮。 - Sebastian Dusza
2个回答

6
我不会在析构函数中隐藏它。那时它很可能成为无效引用。我会将其放在“退出”事件发生的位置。

1
好主意 :) 我重新实现了 closeEvent 成员函数,并在退出前调用 setVisible(false) 隐藏图标。 - Sebastian Dusza

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接