QComboBox背景色

时间:2013-03-22 16:40:28

标签: css qt background-color qcombobox

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

设计

enter image description here

现实生活:

enter image description here

我在Windows 7下。也许它依赖于操作系统,但我希望有一个白色背景。

我试过了:

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

但它也画出右箭头。

有任何解释吗?

3 个答案:

答案 0 :(得分:0)

组合是空的吗?

尝试添加一些元素,然后在运行“app”之前选择其中一个元素。

答案 1 :(得分: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);

答案 2 :(得分:-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);

它似乎有效。