Qt:无法正确设置qComboBox的背景色

时间:2018-08-08 09:11:59

标签: qt qcombobox qt5.9

我有一个QCombobox,我想要设置白色背景色。这是我的代码。

QComboBox *cBox = new QComboBox;
cBox->addItem("Text1");
cBox->setStyleSheet("background-color:white");

此组合框有一个父窗口小部件,其背景是图像,其设置如下:

ui->centralWidget->setStyleSheet("border-image:url(./image.png)"); 

当我将父Widget [centralWidget]背景设置为其他颜色时,白色BG可以在组合框中正常工作。但是,当我将图像设置为父Widget背景时,UI如下所示。{{3} }

在上面的图片中,黑色的Bg是一张图片。有人可以向我强调我所缺少的内容吗。任何帮助都会非常有帮助。

1 个答案:

答案 0 :(得分:1)

当您不指明要向哪个窗口小部件应用某些属性时,它们将应用于您的所有子级,因此,QComboBox的子级将使用相同的centralWidget背景图像}。

在您的情况下,您只想应用到centralWidget,默认情况下,Qt Designer使用相同的名称作为表示小部件和objectName的变量的名称。

enter image description here

因此,如果要应用于小部件,我们可以将objectName用作selector

QWidget#centralWidget{ border-image:url(./image.png)}