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

发布于 2024-12-11 00:23:18 字数 518 浏览 0 评论 0原文

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

I have created a subclass of QGLwidget and I was hoping that I could use a stylesheet to tell openGL how to render a scene.

For Example:

qApp->setStyleSheet("CustomWidget { background-color: yellow }");

Then in my paintGL method:

QColor bg = "Get 'background-color' style somehow"

glClearColorf(bg.redF(), bg.greenF(), bg.blueF(), 0);
glClear(GL_COLOR_BUFFER_BIT)

Also, is it possible to create custom style sheet attributes?

qApp->setStyleSheet("CustomWidget { foo-attr: 1 }");

I have read up on the QStyle and QStyleOption classes, but I don't quite understand how to apply them to a practical application.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

感性不性感 2024-12-18 00:23:18

您可以在自定义小部件中声明 Q_PROPERTY ,然后将其设置为

CustomWidget
{
    qproperty-yourPropertyName: "value";
}

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

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

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

You can declare Q_PROPERTY in your custom widget and then set them with

CustomWidget
{
    qproperty-yourPropertyName: "value";
}

You can access BG of your custom widget with QPalette

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

But I'm not sure if it will work

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文