c++ Qt样式表中的属性组合

eeq64g8w  于 11个月前  发布在  其他
关注(0)|答案(2)|浏览(103)

我写了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 }


所以问题是:如何用“与“、“或”和“非”操作将相同条件下的合并几个属性组合起来?

arknldoa

arknldoa1#

其思想与CSS attribute selection相同.
因此property_1="true"property_2="true"的条件为:

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

字符串

zxlwwiss

zxlwwiss2#

OR操作是通过选择器之间的逗号实现的。
举例来说,您可以:

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

字符串

相关问题