代码之家  ›  专栏  ›  技术社区  ›  adi

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

  •  0
  • adi  · 技术社区  · 6 年前

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

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

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

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

    当我将父窗口小部件[centralwidget]背景设置为其他颜色时,白色bg对组合框正常工作。但是当我将图像设置为父窗口小部件背景时,UI看起来像这样。 the below

    上图中,黑色背景是一幅图片,有人能给我强调一下我遗漏了什么吗?任何帮助都是非常有用的。

    1 回复  |  直到 6 年前
        1
  •  1
  •   eyllanesc Yonghwan Shin    6 年前

    如果不指示要应用某些属性的小部件,它们将应用于所有子部件,因此相同 QComboBox 背景图像应用于 centralWidget .

    在您的情况下,您只希望应用于centralwidget,默认情况下,qt designer对表示该widget和objectname的变量的名称使用相同的名称。

    enter image description here

    因此,如果您想应用到一个小部件,我们可以使用objectname作为 selector :

    QWidget#centralWidget{ border-image:url(./image.png)}
    
    推荐文章