为按钮控件定义多种样式 Qt Widgets 样式表
Define multiple styles for pushbutton control Qt Widgets stylesheets
如何在一个样式表中为一种控件定义多种样式?所以以后开发者可以select,什么样的样式控件应该是什么样子。
例如,我需要为 QPushButton
定义两种样式:普通按钮(左侧)和操作按钮(右侧)
第一个按钮我写了下面的样式:
QPushButton {
background-color: #DCDCDC;
border: 1px solid #BEBEBE;
}
...
这将适用于项目中的所有 QPushButtons
。接下来我还需要为 QPushButtons
定义另一种动作样式,但应该由开发人员 select 编辑。我该怎么做?
我期待这样的事情:
QPushButton#ActionButton* {
background-color: blue;
border: 1px solid darkerblue;
}
然后,如果开发人员指定他的按钮的 objectName
以 "ActionButton" 开头(示例 "ActionButtonSendRespond"),那么它将使用第二种样式。
您可以将 class QPushButton
分入 ActionButton
中,这样您就可以编写特定的 CSS :
C++
#include <QPushButton>
class ActionButton : public QPushButton
{
Q_OBJECT
public:
using QPushButton::QPushButton;
};
CSS :
QPushButton {
background-color: #DCDCDC;
border: 1px solid #BEBEBE;
}
ActionButton {
background-color: blue;
border: 1px solid darkerblue;
}
然后当开发人员使用一种 class 或另一种时,他们知道将应用哪种样式。如果您还需要更改 subclass.
中的行为,它会很有用
如何在一个样式表中为一种控件定义多种样式?所以以后开发者可以select,什么样的样式控件应该是什么样子。
例如,我需要为 QPushButton
定义两种样式:普通按钮(左侧)和操作按钮(右侧)
第一个按钮我写了下面的样式:
QPushButton {
background-color: #DCDCDC;
border: 1px solid #BEBEBE;
}
...
这将适用于项目中的所有 QPushButtons
。接下来我还需要为 QPushButtons
定义另一种动作样式,但应该由开发人员 select 编辑。我该怎么做?
我期待这样的事情:
QPushButton#ActionButton* {
background-color: blue;
border: 1px solid darkerblue;
}
然后,如果开发人员指定他的按钮的 objectName
以 "ActionButton" 开头(示例 "ActionButtonSendRespond"),那么它将使用第二种样式。
您可以将 class QPushButton
分入 ActionButton
中,这样您就可以编写特定的 CSS :
C++
#include <QPushButton>
class ActionButton : public QPushButton
{
Q_OBJECT
public:
using QPushButton::QPushButton;
};
CSS :
QPushButton {
background-color: #DCDCDC;
border: 1px solid #BEBEBE;
}
ActionButton {
background-color: blue;
border: 1px solid darkerblue;
}
然后当开发人员使用一种 class 或另一种时,他们知道将应用哪种样式。如果您还需要更改 subclass.
中的行为,它会很有用