如何更改QComboBox中未选项的颜色? (样式表)

时间:2017-04-11 13:29:39

标签: qt stylesheet

我想改变Qt中QComboBox的风格。我想准确地将非选定项目的文本(FR,ES,IT,..)的文本放在白色中,因为它们是黑色的。

enter image description here

这是使用过的样式表:

QComboBox
{

background-color:black;

border-color:white;

color:red;

border-width: 1px;

border-style: solid;

padding: 1px 0px 1px 3px;

selection-color:white;

}

2 个答案:

答案 0 :(得分:1)

要更改组合框项目的样式,可以设置内部QAbstractItemView样式

示例:

QComboBox QAbstractItemView {
    background-color: rgb(41,41,41);
    color: white;

    selection-background-color: rgb(88, 88, 88);
    selection-color: rgb(200, 200, 200);
}

答案 1 :(得分:0)

虽然dydil的答案可以正常使用,但如果您希望通过QComboBox上的选择器和伪状态进一步控制,则需要使用QComboBox::setView()

使用伪状态的示例:

QComboBox QAbstractItemView::item{color: blue;}
QComboBox QAbstractItemView::item:hover{color: red;}
QComboBox QAbstractItemView::item:selected{background-color: green;}

然后使用以下内容添加视图:

myComboBox->setView(new QListView);