【发布时间】:2011-09-25 20:39:32
【问题描述】:
我正在尝试使用 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 等)可用于这种样式?或者有什么方法可以为你推广的小部件编写样式表?
【问题讨论】:
标签: qt stylesheet qt-creator qtstylesheets