我用 QtDesigner 和 ui 文件创建了一个 Qt HMI。我的 QComboBox 在设计器和实际中没有相同的背景颜色:
设计师:
现实生活:
我在 Windows 7 下。也许它取决于操作系统,但我想有一个白色的背景。
我试过:
comboBox->setStyleSheet("QComboBox { background-color: white; }");
但它也绘制了右箭头。
有什么解释吗?
我用 QtDesigner 和 ui 文件创建了一个 Qt HMI。我的 QComboBox 在设计器和实际中没有相同的背景颜色:
设计师:
现实生活:
我在 Windows 7 下。也许它取决于操作系统,但我想有一个白色的背景。
我试过:
comboBox->setStyleSheet("QComboBox { background-color: white; }");
但它也绘制了右箭头。
有什么解释吗?
组合是空的吗?
尝试添加一些元素并在运行“应用程序”之前选择其中一个。
您是否尝试将 QPalette::Base 更改为白色?您可以在不使用任何样式表的情况下做到这一点。
QComboBox box = new QComboBox();
QPalette p = box.palette();
p.setColor(QPalette::Active, QPalette::Base, Qt::white);
p.setColor(QPalette::Inactive, QPalette::Base, Qt::white);
box.setPalette(p);
QPalette::Base
不会QComboBox
改变.
相反,我使用过:
QPalette palette = ui->combo->palette();
palette.setColor(QPalette::Active, QPalette::Button, Qt::white);
palette.setColor(QPalette::Inactive, QPalette::Button, Qt::white);
ui->combo->setPalette(palette);
它似乎工作。