qt设置透明窗体的方法

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

//全屏 QRect deskRect = QApplication::desktop()->availableGeometry(); setFixedSize(deskRect.width(),deskRect.height()); setAttribute(Qt::WA_TranslucentBackground, true); //背景透明 setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); //去除菜单栏,并且始终处于顶部

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

    推荐阅读