如何使用样式表更改QComboBox中未选定项目的颜色?

问题描述 投票:0回答:2

我想改变QComboBox的样式。我想将未选定项目的文本(FR,ES,IT,..)设置为白色,因为它们是黑色的。

这是使用的样式表:

QComboBox
{
    background-color:black;
    border-color:white;
    color:red;
    border-width: 1px;
    border-style: solid;
    padding: 1px 0px 1px 3px;
    selection-color:white;
}
qt stylesheet qcombobox
2个回答
3
投票

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

示例:

QComboBox QAbstractItemView {
    background-color: rgb(41,41,41);
    color: white;
 
    selection-background-color: rgb(88, 88, 88);
    selection-color: rgb(200, 200, 200);
}

2
投票

虽然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);
© www.soinside.com 2019 - 2024. All rights reserved.