QT实现遮罩效果的一个简单办法

仅需两步:

       一、创建一个新窗口mpShadeWindow,使其成为主窗口的类成员。

在主窗口的类中添加成员:               

QWidget*   mpShadeWindow;

在主窗口类的构造函数中为新窗口申请内存:

mpShadeWindow = new  QWidget(this);

      二、在需要开启遮罩的位置,执行如下代码:

     //设置遮罩窗口
    QString str("QWidget{background-color:rgba(0,0,0,0.6);}");   //0.6代表透明度,根据需要自行调整
    mpShadeWindow->setStyleSheet(str);
    mpShadeWindow->setGeometry(0, 28, 390, OBJ_Y-28);    //遮罩窗口位置
    mpShadeWindow->show();     //显示

效果如下(旧显示屏下拍的,图丑,将就看吧,意思到位就行,哈哈):

QT实现遮罩效果的一个简单办法