为按钮控件定义多种样式Qt Widgets样式表

问题描述:

如何在一个样式表中为一种控件定义多种样式?所以后来的开发人员可以选择什么样的风格控制应该看起来像。为按钮控件定义多种样式Qt Widgets样式表

例如,我需要定义两个样式QPushButton:正常按钮(左边)和动作按钮(右侧)

enter image description here

对于第一个按钮,我写了下面的风格:

QPushButton { 
    background-color: #DCDCDC; 
    border: 1px solid #BEBEBE; 
} 
... 

,这将适用于所有QPushButtons项目。接下来我需要为QPushButtons定义另一个动作样式,但是应该由开发人员选择。我怎样才能做到这一点?

我希望这样的事情:

QPushButton#ActionButton* { 
    background-color: blue; 
    border: 1px solid darkerblue; 
} 

然后,如果开发人员指定他的按钮objectName与“ActionButton”(例如“ActionButtonSendRespond”)开始,然后它会使用第二种风格。

你也可以继承QPushButtonActionButton所以你可以写具体的CSS:

C++

#include <QPushButton> 

class ActionButton : public QPushButton 
{ 
    using QPushButton::QPushButton; 
}; 

CSS:

QPushButton { 
    background-color: #DCDCDC; 
    border: 1px solid #BEBEBE; 
} 
ActionButton { 
    background-color: blue; 
    border: 1px solid darkerblue; 
} 

然后,当开发人员使用一类或其他的,他们知道哪种风格适用。如果您还需要更改子类中的行为,它会很有用。