我目前正在开发使用Qt的媒体播放器。所需的常用功能之一是能够切换全屏。切换全屏使用Qt开发的媒体播放器
渲染画布本质上是一个QGLWidget(我从它分类)。它被添加到应用程序窗口中,该窗口是此媒体播放器的主窗口。除了渲染画布外,应用程序窗口还有工具栏,状态栏和其他小部件。我想要实现的全屏幕是使渲染画布占据整个屏幕而不显示其他小部件。同时,我仍然可以通过按键触发事件。
我已尝试将渲染画布的父级重置为0并调用showFullScreen()函数。我在应用程序窗口中调用了hide()。这使得画布占据了预期的整个屏幕。但是,该应用程序并没有抓住任何按键事件。结果,我无法恢复正常。另外,画布背景在黑色和白色之间闪烁(默认背景为白色)。
不管怎样,我不认为我尝试过的方法是实现这一点的最佳方式。由于当我切换回正常状态时会发生一些复杂的重新布局。并且整个应用程序变得难以管理,因为在全屏时将会执行一些任务,例如查看piexl值(源代码是原始的)。
任何人都可以提出一个更好的方法来实现全屏切换吗?
我认为你的建议对我有意义。我正试图在我的应用程序中实现这一点。我会让你知道事情进展情况。 – Scrathis
我已经使用您建议的方法实现了全屏切换。迄今为止效果很好。非常感谢。@ Max13 – Scrathis