我已经创建了QGLwidget的子类,我希望我可以使用样式表来告诉openGL如何渲染场景。
例如:
qApp->setStyleSheet("CustomWidget { background-color: yellow }");
然后在我的paintGL方法中:
QColor bg = "Get 'background-color' style somehow"
glClearColorf(bg.redF(), bg.greenF(), bg.blueF(), 0);
glClear(GL_COLOR_BUFFER_BIT)
此外,是否可以创建自定义样式表属性?
qApp->setStyleSheet("CustomWidget { foo-attr: 1 }");
我已经阅读了QStyle和QStyleOption类,但我不太明白如何将它们应用到实际应用程序中。
答案 0 :(得分:1)
您可以在自定义窗口小部件中声明Q_PROPERTY,然后使用
进行设置CustomWidget
{
qproperty-yourPropertyName: "value";
}
您可以使用QPalette
访问自定义小部件的BGQColor bg = palette().color(QPalette::Window);
但我不确定它是否会起作用