2013-03-06 76 views
2

我不確定這是怎麼回事,但我認爲這是當我希望應用程序使用方法突然關閉(例如,當用戶選擇在應用程序將關閉SSL錯誤後選擇不繼續) exit(EXIT_FAILURE);Qt多個系統托盤圖標

我注意到有多個系統托盤圖標,每次運行我的應用程序時都會有一個圖標。

enter image description here

請問exit(EXIT_FAILURE);原因呢?無論如何要妥善處理系統托盤對象?

感謝

回答

2

如果你想退出,它可能是最好問一下Qt的做它,所以它可以清理後本身。

從代碼中的任何位置調用qApp-> quit()或QApplication :: quit()。 (qApp是全球的) 您也可以使用exit()。

#include <QApplication>訪問。

你可以通過 'EXIT_FAILURE' 到exit():如果你不使用Qt的GUI

#include <QApplication> 
QApplication::exit(EXIT_FAILURE) 

,QCoreApplication具有相同的功能:

#include <QCoreApplication> 
QCoreApplication::exit(EXIT_FAILURE) 

注意退出()和quit()不要直接關閉你的程序,而是結束你對application.exec()的原始調用。在某些平臺上,在某些情況下,exec()不會返回,而在其他平臺上則會返回。 ()和exit()之間的區別在於,quit()是信號和插槽的插槽,而quit()只是調用exit(0)。

+1

如果您想提供失敗退出代碼,則可以使用QCoreApplication :: exit()。 – ypnos 2013-03-06 18:40:25

+0

@ypnos:當我編輯我的答案時,忍受30秒左右的時間。 =) – 2013-03-06 18:42:57

+2

但你錯了。 quit()不接受任何參數,exit()接受退出狀態參數。 – ypnos 2013-03-06 22:02:13