1

我用 QtDesigner 和 ui 文件创建了一个 Qt HMI。我的 QComboBox 在设计器和实际中没有相同的背景颜色:

设计师:

在此处输入图像描述

现实生活:

在此处输入图像描述

我在 Windows 7 下。也许它取决于操作系统,但我想有一个白色的背景。

我试过:

comboBox->setStyleSheet("QComboBox { background-color: white; }");

但它也绘制了右箭头。

有什么解释吗?

4

3 回答 3

0

组合是空的吗?

尝试添加一些元素并在运行“应用程序”之前选择其中一个。

于 2013-03-22T17:03:13.820 回答
0

您是否尝试将 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);
于 2013-03-22T18:28:01.293 回答
-1

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);

它似乎工作。

于 2013-03-26T16:17:16.230 回答