美文网首页
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