场景:qt quick 布局很灵活,想叠加窗口也很简单,但是想渲染视频 必须借助opengl 。可是部分音视频厂商提供的sdk 在自渲染层面 性能会有所下降,这就不得不选择传统的 QWidget 进行sdk渲染。
一,效果
二,QWidget 布局分为两种。
(1),运用layout ,自动布局
(2),利用 setGeometry(x,y,width,height); 手动计算位置,利用lower() 或者raise() 来调整层级
三,单窗口代码
参考:Qt QWidget视频上叠加文字_Copy->Paste的博客-CSDN博客_qwidget添加文字
四,多窗口布局
每一个用户加入,就实例化出一个窗口,然后开始根据用户个数 进行手动布局。
五,与QML结合
由于QML 的开发效率很高,所以除了视频窗口其他窗口可使用qml,再进入频道的时候,调用qwidget显示,退出时,关闭。