最近几天我试图找到一个有效的解决方案来覆盖声子视频小工具用一个简单的QLabel。遗憾的是,我没能找到一个有效的解决办法。在
以下是我尝试过的:
为人父母。我尝试了“正常”的育儿方法,将QLabel寻址到VideoWidget。结果:标签根本不显示。
QSTACKED布局。这里建议:http://www.qtcentre.org/threads/31490-Overlaying-Widgets-on-top-of-VideoWidget。结果:显示标签,但始终位于视频后面
图形视图。我在这里做了很多尝试,因为它看起来是最有希望的,但是最后CPU负载太高,所以视频无法回放。将视图的viewport设置为QGLWidget并没有解决这个问题。结果:覆盖工作,但由于高CPU负载导致视频无法播放。
子类化VideoWidget。如前所述:https://wiki.qt.io/Overlay_widget_for_Phonon_VideoWidget。我用同样的方法来创建覆盖层。这毕竟很好,除了moveEvent。如果在移动小部件完成后重新对齐标签,这看起来不太好。在移动VideoWidget时,有没有方法可以更新它?
你能做的最好的就是创建一个浮动在你的视频小部件上的新窗口。例如,创建一个无父QLabel并确保它与主窗口同步移动。在
在QMainWindow子类中,重写moveEvent和resizeEvent并执行以下操作:
^{pr2}$这样可以将标签保留在左下角,根据您的需要进行更改。在
相关问题 更多 >
编程相关推荐