我在Windows下托盤圖標有點問題。在我的Qt應用程序停止(正常退出)後,該圖標仍然保留在系統欄中。只有當我將鼠標光標移到它上面時,它纔會消失。我試圖將其隱藏在我窗口的析構函數中,但它失敗了:我嘗試了.setVisible(false)
。Qt應用程序停止後關閉托盤圖標
任何想法?謝謝。
P.S.我記得我和SWT/Java有同樣的問題。
我在Windows下托盤圖標有點問題。在我的Qt應用程序停止(正常退出)後,該圖標仍然保留在系統欄中。只有當我將鼠標光標移到它上面時,它纔會消失。我試圖將其隱藏在我窗口的析構函數中,但它失敗了:我嘗試了.setVisible(false)
。Qt應用程序停止後關閉托盤圖標
任何想法?謝謝。
P.S.我記得我和SWT/Java有同樣的問題。
我不會將它隱藏在析構函數中。在這一點上它可能是一個無效的參考。我會把它放在你的「退出」事件發生的地方。
好主意:)我重新實現了closeEvent成員函數,並在退出前調用setVisible(false)來隱藏圖標。 – Seba 2011-03-27 22:04:03
如果您無法從析構函數調用它,則可以將QCoreApplication::aboutToQuit()
信號連接到QSystemTrayIcon::hide()
插槽。
你爲什麼要調用'setVisible(false)'而不是隻是銷燬小部件? – 2011-03-27 13:34:26
你如何退出你的應用程序? – atamanroman 2011-03-27 16:01:43
@David:我用setVisible(false),因爲這個函數使托盤圖標消失。 AFAIK qt無論如何都會摧毀小部件。我試圖用刪除操作符銷燬traicon。 – Seba 2011-03-27 16:24:53