我想爲我所有的按鈕設置一個全局樣式表。 這樣做是爲了像下面這樣一個特定的按鈕,按預期工作:全局樣式表沒有完全工作
button->setStyleSheet(QString("QPushButton:focus {") +
"outline: 0;" +
"background-color: #" + BUTTON_HIGHLIGHT_BG_COLOR + "; " +
"color: #" + BUTTON_HIGHLIGHT_TXT_COLOR + "; " +
"}"
);
但是,如果我讓全球性的,就像這樣:
qApp->setStyleSheet(QString("QPushButton:focus {") +
"outline: 0;" +
"background-color: #" + BUTTON_HIGHLIGHT_BG_COLOR + "; " +
"color: #" + BUTTON_HIGHLIGHT_TXT_COLOR + "; " +
"}"
);
聚焦按鈕得到正確的字體顏色,但他們似乎沒有背景(儘管我爲它們設置的背景與主佈局的背景不同)。
BUTTON_HIGHLIGHT_BG_COLOR
和BUTTON_HIGHLIGHT_TXT_COLOR
是顏色的字符串(例如「FF0000」)
可能是因爲它適用於特定窗口小部件,但全局失敗?
更新:
我跟着@ ThorngardSO答案,並最終通過改變解決了這個問題:
stackedWidget->setStyleSheet("background-color: white;");
到:
stackedWidget->setStyleSheet("QStackedWidget { background-color: white; }");
這是在加載畫面(第一屏)
1.我只有2個全球規則,縮小到1,沒有幫助。 2.它是一個「groupbox」的孩子,它是一個主窗口的孩子。 3.'groupbox'本身有一個樣式表 - 我刪除它,另一個是'QLabel'的孩子有一個樣式表 - 將其刪除。沒有幫助。 4.第5號。對我來說奇怪的是,它可以在'button-> setStylesheet ...'上工作,'但不能在'qApp-> setStylesheet'上工作。 –
它工作!在加載屏幕上我有一個'stackedWidget-> setStyleSheet'。我看到現在問題來自哪裏。謝謝 –
很高興它成功了 - 樣式表的級聯/繼承通常會導致起初看起來很奇怪的行爲。 – ThorngardSO