遮罩效果:
在弹出窗口时,主窗口亮度变暗,弹出窗口高亮显示,此时无法使用主窗口。遮罩主要由三层窗口构成:主窗口,遮罩层,弹窗。
遮罩层透明度设置

 //0.5代表透明度,根据需要自行调整
QString str("QWidget{background-color:rgba(0,0,0,0.5);}");  
shadeWindow->setStyleSheet(str);

设置不同程度遮罩:

//遮罩主窗口全部部分
shadeWindow->setGeometry(0, 0, this->width() , this->height());			           
//遮罩主窗口从左上到右下的三分之二                      
shadeWindow->setGeometry(0, 0, this->width()*2/3, this->height()*2/3);	     
 //未能产生遮罩效果                                       
shadeWindow->setGeometry( this->width() * 2 / 3, this->height() * 2 / 3,0,0);		   
//右下角到左上角三分之一的遮罩效果                  
shadeWindow->setGeometry(this->width()  / 3, this->height() / 3, this->width(), this->height());	

隐藏窗口的标题栏:
遮罩效果生成后使用下面代码可以去除弹窗的标题栏,但注意要添加退出功能

 this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinMaxButtonsHint);
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐