qt 视频 上方创建 osd 的2种方法

1、在csdn上看到的,新建一个widget,然后在构造函数里设置透明、无边框,最重要是设置为Qt::Tool窗口。

主要不要设置为Qt:Tooltip,不然他就位于所有窗口上方,而Tool只位于App上方。

这个可以实现,不过呢就是要自己计算大屏幕位置,当下方视频窗口挪动、变化时,重新计算坐标再move一次,以便达到跟随下方视频窗口的目的。

典型方案:https://blog.csdn.net/baidu_28572705/article/details/101520946


2、然而, 今天是2020年了,qt是5.14了,方法更简单了。新步骤如下:

a、拖一个widget到mainwindow

b、在widget上再放一个label或者widget2,然后用布局铺满widget,至于widget要不要铺满mainwindow随便你

c、用widget来播放视频/图片(painter.drawImage),然后你神奇的发现,widget2居然是透明的,而且再往widget2放button、dropbox等都可以见到!

显然,widget2就是我们要的osd窗口了,因为有布局加持,完全不用担心坐标问题。

实际上,widget2可以换成label、frame等,只要是透明容器就是,爽歪歪了。


本文为3YL原创,转载无需联系,但请注明来自labisart.com。

原创文章不易,如果觉得有帮助,可打赏或点击右侧广告支持:

查看打赏记录

发表评论请遵守党国法律!后台审核后方可显示!
  • 最新评论
  • 总共0条评论
  • Blog v1.1© 2020 labisart.com 版权所有 | 联系:labartwork@163.com