5

我想通过样式表设置 QComboBox 的样式,所以我应用了以下 qss 语法。

 QComboBox {
    border: none;
    border-radius: 0px;
background-color: rgb(255, 255, 255);
color: rgb(0, 0, 0);
selection-background-color: rgb(0, 85, 255);
font: 14pt;
 }

 QComboBox:editable {
     background-color: rgb(255, 255, 255);
 }

QComboBox:!editable:on, QComboBox::drop-down:editable:on {
     background-color: rgb(200, 200, 200);
 }

 QComboBox:on { /* shift the text when the popup opens */
     padding-top: 3px;
     padding-left: 4px;
 }

QComboBox::drop-down {
width: 0px;
height:0px;
border-radius: 0px;
}

QComboBox::drop-down:hover
{
    border: none;
    border-radius: 0px;
background-color: rgb(0, 170, 255);
}   

QComboBox QAbstractItemView{
background-color: rgb(255, 255, 255);
    border-radius: 0px;
color: rgb(0, 0, 0);
font: 14pt;
 }

QComboBox QAbstractItemView:item{
color: rgb(85, 85, 0);
background-color: rgb(170, 170, 127);
selection-background-color: rgb(170, 170, 255);
selection-color: rgb(85, 0, 127);
height:40px;
font: 16pt;
 }

问题: 选择背景颜色:rgb(170, 170, 255); 在

     QComboBox QAbstractItemView:item{
color: rgb(85, 85, 0);
background-color: rgb(170, 170, 127);
selection-background-color: rgb(170, 170, 255); <- Not Working
selection-color: rgb(85, 0, 127);
height:40px;
font: 16pt;
 }

没有申请。下拉所选项目背景不反映。请帮我解决这个问题。

4

3 回答 3

7

你有没有尝试过:

QComboBox QAbstractItemView
{
background-color: rgb(255, 255, 255);
selection-background-color: rgb(170, 170, 255); <- Should Now Work
border-radius: 0px;
color: rgb(0, 0, 0);
font: 14pt;
}
于 2014-04-24T18:58:55.177 回答
2

我有这个问题。每次选择组合框(GUI 中的焦点项目)时,该框都是蓝色的,带有白色文本。我最初尝试添加:

QComboBox QAbstractItemView {
selection-background-color: white;
}

然而,这并没有奏效。

经过一番调查,我意识到“选择背景颜色”标签是正确的,但它不在正确的对象上。标记“QComboBox QAbstractView”将更改下拉视图,但不会更改 QComboBox 本身。为此,您必须将标签附加到 QComboBox(不限于仅 ComboBox 的 QAbstractItemView)。这就是我将我的从蓝色更改为白色的方式(选中时):

QComboBox {
selection-background-color: white;
}
于 2019-05-17T05:40:28.820 回答
2

我只是遇到了同样的问题,对我来说,我在互联网上找到的所有建议的解决方案都没有奏效。最后是这样的:

QComboBox::item:selected
{
    background-color: rgb(170, 170, 255);
    color: rgb(0, 0, 0);
}

希望这可以帮助其他用户搜索此内容。也许这在最近的版本中发生了变化(我使用的是 Qt 5.7)。

于 2017-10-30T17:34:52.340 回答