gpt4 book ai didi

qt - QComboBox 文本颜色不会随样式表改变

转载 作者:行者123 更新时间:2023-12-02 17:30:35 30 4
gpt4 key购买 nike

我正在尝试在 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;
}

但组合框中的文本颜色仍为默认(黑色)颜色。下拉菜单中的颜色是白色。边框颜色和样式都正常工作。组合框上的标签是某种我需要单独设置样式的子控件吗?还是我还漏掉了其他东西?

谢谢。

编辑:

为了清晰起见,添加了屏幕截图

Combobox style

Drop down style

编辑2:看起来只有当组合框设置为不可编辑时才会发生这种情况(这对我的程序来说是正确的行为,所以对我没有真正的帮助。)当组合框设置为可编辑时,它会正确遵循样式。我尝试过添加

QCombobox:!editable
{
color:white;
}

但这并不能解决问题。

最佳答案

刚刚解决了这个问题。似乎在样式表中的组合框上设置 padding 属性(具有任何值)可以使其正确遵守颜色样式。我假设这归因于某种可能只在某些设置上出现的错误,但如果其他人也遇到同样的问题,则以下代码将起作用(与原始问题中的代码相比):

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*/
}

关于qt - QComboBox 文本颜色不会随样式表改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24447276/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com