Sam*_*Sam 9 qt qt5 qtstylesheets
我正试图在QT5中设计一个组合框.我正在使用QT Creator进行布局,并在启动时加载应用程序范围的样式表.
我与我的组合框有关的CSS如下:
QComboBox
{
color:white;
background-color: qlineargradient(x1:0, y1:0, x2:1,y2:1, stop: 1 rgba(228, 41, 81, 100), stop: 0 rgba(234, 107, 101, 100));
border-color: rgba(255,255,255,200);
border-width: 1px;
border-style: solid;
}
QComboBox QListView
{
border-style: none;
background-color: qlineargradient(x1:0, y1:0, x2:1,y2:0, stop: 1 rgba(228, 41, 81, 100), stop: 0 rgba(234, 107, 101, 100));
}
QComboBox::drop-down
{
width: 20px;
border: 1px;
border-color:white;
border-left-style:solid;
border-top-style: none;
border-bottom-style: none;
border-right-style: none;
}
QComboBox::down-arrow
{
image: url(:/ArrowImages/images/whitearrowdown16.png);
width: 16px;
height: 16px;
}
Run Code Online (Sandbox Code Playgroud)
但组合框中的文本颜色将重新标记为默认(黑色)颜色.下拉列表中的颜色为白色.边框颜色和样式都正常工作.组合框上的标签是否需要单独设置哪种子控制?还是我错过了别的什么?
谢谢.
编辑:
为清晰起见添加了屏幕截图


编辑2:看起来只有当组合框设置为不可编辑时才会出现(这对我的程序来说是正确的行为,因此对我没有帮助.)当组合框设置为可编辑时,它会正确地服从样式.我试过添加
QCombobox:!editable
{
color:white;
}
Run Code Online (Sandbox Code Playgroud)
但它并没有解决问题.
Sam*_*Sam 17
只是解决了这个问题.似乎在样式表中的组合框上设置填充属性(具有任何值)使其正确地遵循颜色样式.我假设它只是某种设置上可能出现的某种错误,但如果其他人遇到同样的问题,下面的代码就可以了(与原始问题相比):
QComboBox
{
color:white;
background-color: qlineargradient(x1:0, y1:0, x2:1,y2:1, stop: 1 rgba(228, 41, 81, 100), stop: 0 rgba(234, 107, 101, 100));
border-color: rgba(255,255,255,200);
border-width: 1px;
border-style: solid;
padding: 1px 0px 1px 3px; /*This makes text colour work*/
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9092 次 |
| 最近记录: |