2012-06-22 207 views

回答

2

這適用於me:

QPalette p = myCheckBox->palette(); 
p.setColor(QPalette::Active, QPalette::WindowText, green); 
myCheckBox->setPalette(p); 
0

我跑了int這個問題使用各種版本的Qt5(5.2,5.4)。要使用樣式表做到這一點,我不得不使用僞國性質:http://doc.qt.io/qt-4.8/stylesheet-reference.html#list-of-pseudo-states

例子:

myCheckbox->setStyleSheet("QCheckBox:unchecked{ color: red; }QCheckBox:checked{ color: red; }"); 

設置兩種狀態改變的顏色適合我。在樣式表和調色板系統中似乎有一些古怪的東西,所以請留意你的眼睛並嘗試一些不同的東西(即選擇器,僞狀態等)。

1

看起來像你需要的一些小部件強制使用非系統的「小部件引擎」。對於複選框,可以通過將邊框設置爲無。所以複選框的樣式如下所示:

QCheckBox { 
    border: none; 
    color: white; 
} 

其他小部件需要類似的行爲。某些樣式屬性不會禁用本機外觀。例如QPushButton(http://doc.qt.io/qt-4.8/stylesheet-reference.html

相關問題