QT遮罩效果

本文介绍如何在应用程序中创建遮罩效果,使主窗口在弹出窗口出现时变暗,突出显示弹出内容。通过设置不同透明度和几何形状,实现了全屏、部分遮罩以及特定区域的遮罩效果。同时,讨论了如何隐藏弹窗标题栏以增强用户体验,并提供了相应的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 //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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰封的雪绒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值