如何通过 class select QWidget

How to select QWidget by class

想象一下,我想在 MainWindow 中为一些 QWidgets 设置一个 css 样式,例如:

QPushButton {
    background: rgb(79, 79, 79);
}

但它对所有 QPushButtons 应用 css 风格,我想只为一些 class 识别的一些 QPushButtons 设置背景。怎么做?

编辑:

        <widget class="QPushButton" name="pushButton_2">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
           <horstretch>0</horstretch>
           <verstretch>0</verstretch>
          </sizepolicy>
         </property>
         <property name="minimumSize">
          <size>
           <width>0</width>
           <height>60</height>
          </size>
         </property>
         <property name="text">
          <string>Label</string>
         </property>
        </widget>

您需要使用 class 选择器

https://www.w3schools.com/cssref/sel_class.asp

QPushButton.someClass{
     background: rgb(79, 79, 79);
}

html 将是例如

<QPushButton class='someClass'>
    Label
</QPushButton>

在您的示例中 class 是 QPushButton,因此您的选择器是正确的。您可以在选择器中使用对象名称

QPushButton#pushButton_2 { ... }

或者如果您需要设置几个按钮的样式,您可以使用 属性 选择器

QPushButton[fancy=true] { ... }

您可以使用 QtDesigner 添加 fancy 属性 或使用 QObject::setProperty().

从代码中添加

有关详细信息,请查看文档 here