Qt StyleSheet自定义样式属性自定义QGLwidget

时间:2011-10-21 15:57:19

标签: css qt opengl qt4 pyqt

我已经创建了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类,但我不太明白如何将它们应用到实际应用程序中。

1 个答案:

答案 0 :(得分:1)

您可以在自定义窗口小部件中声明Q_PROPERTY,然后使用

进行设置
CustomWidget
{
    qproperty-yourPropertyName: "value";
}

您可以使用QPalette

访问自定义小部件的BG
QColor bg = palette().color(QPalette::Window);

但我不确定它是否会起作用