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

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

答案

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

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

enter image description here

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

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

以上是关于Qt:无法正确设置qComboBox的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

QT中QComboBox如何不显示那个黑色的小箭头?

Qt,如何更改 QComboBox 的一项的文本颜色? (C++)

qtcombobox的背景颜色越过下拉

在Qt中怎么设置QFileDialog对话框的文字颜色和背景颜色?

QT QPushButton背景颜色设置问题

QT怎么设置QComboBox弹出下拉框的高度