【问题标题】:How to add QWidget to a QGLWidget如何将 QWidget 添加到 QGLWidget
【发布时间】:2015-06-23 11:31:12
【问题描述】:

目前将 QWidget 添加到 QGLWidget 的最佳方式是什么?在这种情况下,我想向 QGLWidget 添加一个 QSlider,但是现在 Google 上似乎有一半的链接指向无效信息,因此很难弄清楚当前实现这一目标的方法是什么。

我小时候确实尝试过创建一个 QSlider 并设置几何图形,但这似乎没有多大作用。

【问题讨论】:

  • 也许您听说QGLWidget 现在已经过时了,您应该改用QOpenGLWidget
  • 我实际上没有,谢谢。随着这种新的小部件类型的引入,是否有一种将 QWidgets 添加为子项的新方法?
  • 我没有尝试过,但据我所知,它应该可以通过设置父级来工作。 QGLWidget 从不支持正确添加子小部件,因此您必须直接在 QGLWidget 上绘制它们或将它们放在 QGraphicsScene 中。使用QOpenGLWidget 应该是可能的。

标签: qt qt5 qwidget qglwidget


【解决方案1】:

子小部件不适用于 QGLWidget,已记录在案。

使用QOpenGLWidget 并且子小部件可以正常工作。在这方面没有什么特别的,只需添加子小部件、布局等,它“就可以工作”。

【讨论】:

  • 太好了,谢谢。您能指出QOpenGLWidget 的任何代码示例吗?我已经尝试对我的“QGLWidget”进行初始移植,但遇到了各种分段错误问题,我猜这意味着我在某处缺少初始化程序,但文档并不清楚。
  • 实际上设法转换它,不是 100% 确定如何转换,但我认为我依赖于旧格式的正确位置的调用,以及新格式的错误位置。我创建了一个新的QOpenGLWidget 并实现了基本功能来测试,然后在上面重新实现了我的功能,一切都很好。
猜你喜欢
  • 2018-01-24
  • 2012-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-29
  • 2014-12-05
  • 1970-01-01
相关资源
最近更新 更多