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

eeq64g8w  于 2023-11-19  发布在  其他
关注(0)|答案(2)|浏览(136)

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

  1. #include <QPushButton>
  2. class MyButton : QPushButton
  3. {
  4. Q_OBJECT
  5. Q_PROPERTY(bool property_1 READ property_1)
  6. Q_PROPERTY(bool property_2 READ property_2)
  7. public:
  8. explicit MyButton(QWidget *parent = 0);
  9. ...
  10. }

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

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


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

arknldoa

arknldoa1#

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

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

字符串

zxlwwiss

zxlwwiss2#

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

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

字符串

相关问题