Qt样式表中的属性组合

时间:2014-07-08 12:16:35

标签: c++ qt qtstylesheets

我编写了Qt4(或Qt5)类MyButton并定义了两个布尔属性,如下所示:

#include <QPushButton>

class MyButton : QPushButton
{
  Q_OBJECT
  Q_PROPERTY(bool property_1 READ property_1)
  Q_PROPERTY(bool property_2 READ property_2)
public:
  explicit MyButton(QWidget *parent = 0);
  ...
}

现在我想在外部文件中自定义应用程序样式表,以便在此属性的不同组合中,MyButton具有不同的背景颜色。另外这很好用:

MyButton[property_1="true"] { background-color: black }
MyButton[property_2="true"] { background-color: white }

所以问题是:如何将相同条件下的少数属性与“和”,“或”和“非”操作结合起来?

1 个答案:

答案 0 :(得分:7)

最后我得到了解决方案。这个想法与CSS attribute selection相同。

因此property_1 =“true”AND property_2 =“true”条件为:

MyButton[property_1="true"][property_2="true"] { background-color: green; }