2012-06-22 179 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

相关问题