Qt 调用大华摄像头SDK 遇到的问题

希望实现的结果:  一个可以拖动,可以缩放的窗口,标题栏自定义,而不是用windows 自带标题栏(大家都觉得系统的标题栏很丑,但我自己觉得也还好),大华的摄像头SDK启动摄像头播放时,通过 回调函数获取视频数据,通过大华的 playsdk 丢入该窗口进行播放。

简单记录,待详细补充

       方案1: 

              在隐藏系统标题栏之前,窗口是可以拖放和改变大小的;

             通过  setWindowFlags( Qt::CustomizeWindowHint);  隐藏系统标题栏,隐藏后窗口保留了拖放和改变大小的功能。看起来很完美,但是仔细看发现在窗口顶部留下了一条白边儿,该白边儿不知道如何修改样式,不知道如何隐藏。

           因此放弃了该方案。

 

   方案2:

  继承 QDIalog 或 QWidget 自定义了一个窗口类,

在该窗口类构造函数中 执行 setWindowFlags(Qt::FramelessWindowHint) 隐藏了系统标题栏,隐藏后鼠标拖放和改变大小的功能失效了,因此需要重定义鼠标事件,自己实现。
鼠标拖放功能比较容易实现,改变大小的功能希望实现的效果为 当鼠标经过窗口边缘时,鼠标改变形状,此时按下鼠标左键,然后移动鼠标即可调整窗口大小。
在默认情况下,窗口只有在鼠标按下时才能捕捉鼠标事件,如果要在鼠标不按下时也能触发,则需要 调用    
setMouseTracking(true);
 调用该接口后,可以模拟原效果失效鼠标拖放窗口和改变窗口大小的功能。

  当为主

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值