Qt:无法正确设置qComboBox的背景颜色
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt:无法正确设置qComboBox的背景颜色相关的知识,希望对你有一定的参考价值。
我有一个QCombobox,我想设置一个白色的背景颜色。这是我的代码。
QComboBox *cBox = new QComboBox;
cBox->addItem("Text1");
cBox->setStyleSheet("background-color:white");
这个组合框有一个父窗口小部件,其背景是一个图像,如下所示设置:
ui->centralWidget->setStyleSheet("border-image:url(./image.png)");
当我将父Widget [centralWidget]背景设置为其他颜色时,白色BG适用于组合框。但是当我将图像设置为父窗口小部件背景时,UI看起来像这样.
在上面的图片中,黑色Bg是一个图像。有人可以突出我,我错过了什么。任何帮助都会非常有帮助。
答案
当您没有指明要应用某个属性的小部件时,它们将应用于您的所有孩子,因此相同的QComboBox
背景图像将应用于centralWidget
的孩子。
在您的情况下,您只想应用于centralWidget,默认情况下,Qt Designer使用相同的名称作为表示窗口小部件和objectName的变量的名称。
因此,如果要应用于窗口小部件,我们可以将objectName用作selector:
QWidget#centralWidget{ border-image:url(./image.png)}
以上是关于Qt:无法正确设置qComboBox的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章
Qt,如何更改 QComboBox 的一项的文本颜色? (C++)