Qt项目的多种样式(QLabel,QPushbutton,...)

时间:2016-05-06 14:58:59

标签: css qt qt-designer qlabel

  • 我正在使用Qt Creator 3.6.1设计用户界面
  • 我正在使用Qt设计师表格。
  • 我有一个包含20个QLabel的QWidget。
  • 我希望这些QLabel中的10个具有红色背景颜色
    另外10个有蓝色背景色。
  • 我想为此目的使用css。

我发现您可以在父窗口小部件css中设置所有QLabel的样式,这样可以设置所有标签的样式。

QLabel
{
    background-color: red
}

但在我的情况下,我想要两类风格。 有没有办法通过不对每个剩余的10个蓝色标签进行单独设计?

我知道我可以按名称设置元素,但这是一项巨大的努力。

1 个答案:

答案 0 :(得分:5)

如果你想使用CSS类,你必须为QLabel设置一个类名:

QLabel* redLabel = new QLabel("red label");
QLabel* blueLabel = new QLabel("blue label");

redLabel->setProperty("class","my-1st-class");
blueLabel->setProperty("class","my-2nd-class");

然后在CSS文件中使用您的类名:

.my-1st-class{
     background-color: red;
}

.my-2nd-class{
     background-color: blue;
}