美文网首页
qt设置透明窗体的方法

qt设置透明窗体的方法

作者: 江俊广 | 来源:发表于2018-12-18 22:51 被阅读0次

在实现弹幕应用程序的时候,需要让窗体的背景透明,但是其上的弹幕(基于QLable实现)则不是透明的。具体的方法如下。

在窗体类中,设置

//全屏
QRect deskRect = QApplication::desktop()->availableGeometry();
setFixedSize(deskRect.width(),deskRect.height());

setAttribute(Qt::WA_TranslucentBackground, true);//背景透明
setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);//去除菜单栏,并且始终处于顶部

经过测试:
在win10系统下,得到的窗体是透明的,并且透明部分可以正常响应鼠标事件。
在Mac系统下,得到的窗体也是透明的,但是透明部分无法正常响应鼠标事件。

相关文章

网友评论

      本文标题:qt设置透明窗体的方法

      本文链接:https://www.haomeiwen.com/subject/tvbrkqtx.html