如何将 QWidget 添加到 QGLWidget
Posted
技术标签:
【中文标题】如何将 QWidget 添加到 QGLWidget【英文标题】:How to add QWidget to a QGLWidget 【发布时间】:2015-06-23 11:31:12 【问题描述】:目前将 QWidget 添加到 QGLWidget 的最佳方式是什么?在这种情况下,我想向 QGLWidget 添加一个 QSlider,但是现在 Google 上似乎有一半的链接指向无效信息,因此很难弄清楚当前实现这一目标的方法是什么。
我小时候确实尝试过创建一个 QSlider 并设置几何图形,但这似乎没有多大作用。
【问题讨论】:
也许您听说QGLWidget
现在已经过时了,您应该改用QOpenGLWidget
?
我实际上没有,谢谢。随着这种新的小部件类型的引入,是否有一种将 QWidgets 添加为子项的新方法?
我没有尝试过,但据我所知,它应该可以通过设置父级来工作。 QGLWidget
从不支持正确添加子小部件,因此您必须直接在 QGLWidget
上绘制它们或将它们放在 QGraphicsScene
中。使用QOpenGLWidget
应该是可能的。
【参考方案1】:
子小部件不适用于 QGLWidget
,已记录在案。
使用QOpenGLWidget
并且子小部件可以正常工作。在这方面没有什么特别的,只需添加子小部件、布局等,它“就可以工作”。
【讨论】:
太好了,谢谢。您能指出QOpenGLWidget
的任何代码示例吗?我已经尝试对我的“QGLWidget”进行初始移植,但遇到了各种分段错误问题,我猜这意味着我在某处缺少初始化程序,但文档并不清楚。
实际上设法转换它,不是 100% 确定如何转换,但我认为我依赖于旧格式的正确位置的调用,以及新格式的错误位置。我创建了一个新的QOpenGLWidget
并实现了基本功能来测试,然后在上面重新实现了我的功能,一切都很好。以上是关于如何将 QWidget 添加到 QGLWidget的主要内容,如果未能解决你的问题,请参考以下文章