【问题标题】:Qt StyleSheet custom style attribute custom QGLwidgetQt StyleSheet自定义样式属性自定义QGLwidget
【发布时间】:2011-12-12 17:13:05
【问题描述】:

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

【问题讨论】:

    标签: css qt opengl qt4 pyqt


    【解决方案1】:

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

    CustomWidget
    {
        qproperty-yourPropertyName: "value";
    }
    

    您可以使用 QPalette 访问自定义小部件的 BG

    QColor bg = palette().color(QPalette::Window);
    

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

    【讨论】:

    • 谢谢。这很好用。顺便说一句background_color = palette().color(QPalette::Window)
    猜你喜欢
    • 2011-01-11
    • 2018-04-20
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多