如何全屏显示QGLWidget?
我有一个 QGLWidget 作为我的应用程序 UI 的一部分。它不是一个中心小部件,它周围还有很多其他小部件。我想在用户单击按钮时全屏显示它。与 YouTube 视频 Flash 播放器类似的功能。
我尝试使用 showFullScreen 但没有效果。
我已阅读 how-to-fullscreen-a-qglwidget 和 fullscreen-widget,但他们建议使用 showFullScreen。
Qt 文档指出,要使用 showFullScreen 小部件必须是一个独立的窗口。所以我认为应该有一些技巧。
I have a QGLWidget as part of the UI of my application. It is NOT a central widget, there are a lot of others widgets around it. I want to show it full screen on user clicks the button. Similar functionality like on youtube video flash player.
I have tried to use showFullScreen with no effect.
I have read how-to-fullscreen-a-qglwidget and fullscreen-widget, but they suggest using showFullScreen.
Qt documentation states that for using showFullScreen widget must be an independent window. So I assume there should be some trick for this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我找到的解决方案:
The solution I found:
showFullScreen 函数仅适用于 Windows。来自 Qt 文档:
一个可能的解决方案如下:
当用户单击“显示全屏”按钮时
也许它更好的主意是子类化 QGlWidget 并在其构造函数中传递一个指向另一个 QGlWidget 的指针。构造函数应该获取所提供的小部件的上下文并将其应用于新的小部件。
The showFullScreen function works only on windows. From the Qt documentation:
A possible solution is the following:
When the user clicks the show full screen button
Maybe it is a better idea to subclass QGlWidget and pass in its constructor a pointer to another QGlWidget. The constructor should take the context of the provided widget and apply it to the new one.