我想通过样式表设置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;
}
问题: selection-background-color: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;
}
没有申请。下拉所选项目背景未反映。 请帮我解决这个问题。
答案 0 :(得分:5)
你试过了吗?
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;
}
答案 1 :(得分:1)
我刚才遇到了同样的问题,对我而言,我在互联网上找到的解决方案都没有。最后这是什么:
QComboBox::item:selected
{
background-color: rgb(170, 170, 255);
color: rgb(0, 0, 0);
}
希望这可以帮助其他用户搜索此内容。 也许这在最近的版本中有所改变(我使用Qt 5.7)。
答案 2 :(得分:0)
我遇到了这个问题。每次选择组合框(GUI中的焦点项目)时,该框将为蓝色,带有白色文本。我最初尝试添加:
QComboBox QAbstractItemView {
selection-background-color: white;
}
但是,这没有用。
经过一番调查,我意识到“ selection-background-color”标签是正确的,但是它不在正确的对象上。标记“ QComboBox QAbstractView”将更改下拉视图,但不会更改QComboBox本身。为此,您必须将标签附加到QComboBox(而不仅限于ComboBox的QAbstractItemView)。这就是我将我的颜色从蓝色更改为白色的方式(选择时):
QComboBox {
selection-background-color: white;
}