我試圖改變QComboBox(或幾個小部件其實)的顏色,但它似乎只是一個顏色屬性創建一個QStyleSheet時,它會寫所有其他屬性。最值得注意的是在Windows上,圓形的QComboBoxes變得方形,而且很醜。下面的代碼片段(請注意,實際代碼中的顏色會生成,只需在白色上使用黑色便於使用)。QStyleSheet覆蓋一般風格
QString styleSheet = "QComboBox { background-color: #ffffff; color: #000000 }";
combBox->setStyleSheet(styleSheet);
對不起,這些圖像的荒謬尺寸。
這是有規律的,非風格QComboBox:
這是應用上述風格後QComboBox:
它會出現你設置新的樣式表作爲* only *樣式表來應用。這確實會刪除所有其他樣式。相反,嘗試將新樣式添加到現有樣式表中,或者如果您不能這樣做,請嘗試將其添加爲其他樣式表,而不是替換舊樣式表。 – Tijmen
如何添加而不是替換?該文檔基本上說setStyleSheet是我擁有的。 –
我看了一下[QT文檔](http://doc.qt.io/qt-4.8/stylesheet-examples.html#customizing-a-qpushbutton-using-the-box-model),它概述了這個問題爲一個按鈕,但原則是一樣的。如果修改無法通過本機樣式解析的屬性(如此處所示),則需要對整個元素進行樣式設置,因爲該元素會忽略所有本地樣式。 – Tijmen