我正在尝试使用Qt样式表对标准小部件进行大量重新设计。因此,在#objectName
选择器为不同的小部件手动完成大部分操作后,我决定以某种方式对类似的小部件进行分组。
例如,我有多个QFrames
,它们就像内部表单中的标题一样。我希望他们所有人都有相同的样式表。一种方法是使用命名约定(这是我的后备变体),即QFrame[objectName|="prefix_"]
。但我想按课程分组我的小部件。所以我创建了简单的占位符类:
class HeaderFrame: public QFrame
{
public:
HeaderFrame(QWidget *parent = NULL): QFrame(parent) {}
};
这使我可以将所有这些QFrames
推广到HeaderFrames
。之后我尝试了设置
HeaderFrame { background-color: red; }
样式表到MainWindow对象本身(使其对所有HeaderFrames起作用)但它不起作用。 QtCreator表单设计器中没有任何更改,编译应用程序后没有任何更改。我尝试过这个样式表的不同变体,但没有任何效果。
那么,只有Qt小部件(如QLabel,QFrame等)可以通过这种方式进行样式化吗?或者有一些方法可以为您推广的小部件编写样式表?
答案 0 :(得分:3)
UPD: 例 类:
class Header1Label : public QLabel
{
Q_OBJECT
public:
Header1Label(QWidget *parent = 0):QLabel(parent){};
~Header1Label(){};
};
样式表:
Header1Label
{
font-size:14px;
font-weight:900;
}