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

问题描述 投票:0回答:1

我有一个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看起来像这样.the below

在上面的图片中,黑色Bg是一个图像。有人可以突出我,我错过了什么。任何帮助都会非常有帮助。

qt qcombobox qt5.9
1个回答
1
投票

当您没有指明要应用某个属性的小部件时,它们将应用于您的所有孩子,因此相同的QComboBox背景图像将应用于centralWidget的孩子。

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

enter image description here

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

QWidget#centralWidget{ border-image:url(./image.png)}
© www.soinside.com 2019 - 2024. All rights reserved.