0
#include <QApplication>
int main() {
QApplication::setStyle("windows");
QApplication::setStyle("windows");
}
該程序產生Segmentation fault (core dumped)
。我的qmake
版本是4.7.2
。這是一個Qt錯誤還是我的版本太舊?將QApplication :: style設置兩次後程序崩潰
你能解釋一下,爲什麼如果函數需要一個對象時它是靜態的? – Ashot
我不知道Qt的歷史,但我認爲它們是靜態的,所以你可以從任何地方訪問QApplication。 QApplication具有由構造函數設置的靜態自變量,以便靜態函數可以訪問應用程序實例。在構造函數之前調用的任何靜態函數都會獲得一個NULL指針。不是最好的設計,但我確信當時有一個原因。如果你不得不調用QApplication :: instance() - > setStyle()或類似的東西,那會更清楚。 –