我用QtDesigner和ui文件创建了一个Qt HMI。我的QComboBox在设计器和实际中没有相同的背景颜色:
设计
现实生活:
我在Windows 7下。也许它依赖于操作系统,但我希望有一个白色背景。
我试过了:
comboBox->setStyleSheet("QComboBox { background-color: white; }");
但它也画出右箭头。
有任何解释吗?
答案 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);
它似乎有效。