QT图形开发

    在监控领域中,一般输出设备的图形用户界面内容包括:

1、后端OSD:显示画面分割线、通道号、时间等信息,用以界定多画面显示布局。

2、GUI界面:包括各种菜单、进度条等元素,用户通过操作GUI界面进行设备配置

3、鼠标:提供更方便易用的界面菜单操作方式。

    以上3类图形内容可以通过1个图形层实现,也可以通过多个图形层实现。

   在实际的项目中,我们一般采用的是在一个图层实现

   实现过程中比较重要的是注意以下两点:

 1、QT不负责视频解码,也就是不要采用软件解码,而是采用芯片的硬件解码功能,如下图所示

该技术要点是建立在充分发挥芯片硬件功能,减少QT使用率,从而降低了CPU的负担,只需要主要的是边框和视频的相对位置即可


     2、GUI层和视频层的相对关系设置

一般情况下视频层的优先级是最低的,也就是说OSD层会放置在视频层上面,因此,我们在运行Qt程序的时候就会把视频层给覆盖掉了,但是这并不是我们想要的效果,我们希望的是在视频层上能够显示除了显示一些必要的控件外都显示视频图像。在QT里面只需要做两个步骤即可,如下所示

       具体原理,就是设置alpha的值,进行全透明

      QWSServer::setBackground(QColor(0, 0, 0, 0)); //QT服务器窗口全透明

      label->setStyleSheet("background-color:transparent;");  //控件透明为背景色

设置完成以上两个步骤后,就可以在上图的紫色方框内看到视频图像了


最后,可以通过设置芯片输出的视频的大小来迎合GUI视频窗口大小即可


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值