QT应用编程: 半透明遮罩窗口实现

举报
DS小龙哥 发表于 2021/12/10 00:52:23 2021/12/10
【摘要】 一、环境介绍 操作系统介绍:win10 64位 QT版本: 5.12.6 二、需求介绍 我们在显示一些模态对话框的时候,往往需要将对话框的背景颜色调暗以达到突出当前对话框的效果。 例如:对话框的父窗口除了标题栏以外的部分都变暗了,在父窗口的对比下对话框的显示效果就得到了强调。 这种设计多见于web页面,当用户点击诸...

一、环境介绍

操作系统介绍:win10 64位

QT版本: 5.12.6

二、需求介绍

我们在显示一些模态对话框的时候,往往需要将对话框的背景颜色调暗以达到突出当前对话框的效果。

例如:对话框的父窗口除了标题栏以外的部分都变暗了,在父窗口的对比下对话框的显示效果就得到了强调。

这种设计多见于web页面,当用户点击诸如购买之类的按钮后页面会弹出一个购物清单确认对话框,并将对话框以外的内容用类似图中的效果处理,使用户可以将注意力集中在对话框本身。

 

三、实现代码


  
  1. /*
  2. 日期: 2021-01-02
  3. 作者: DS小龙哥
  4. 环境: win10 QT5.12.6 MinGW32
  5. 功能: 打开遮罩窗体
  6. */
  7. void Widget::on_pushButton_clicked()
  8. {
  9. QWidget mask_window(this);
  10. //设置窗体的背景色,这里的百分比就是透明度
  11. mask_window.setStyleSheet(QString("background-color: rgba(0, 0, 0, 20%);"));
  12. mask_window.setGeometry(this->rect()); //获取父窗体的几何形状设置当前窗口
  13. mask_window.show();
  14. //对话框
  15. QMessageBox::information(this,"提示","遮罩框已打开",QMessageBox::Ok,QMessageBox::Ok);
  16. //关闭窗口
  17. mask_window.close();
  18. }

 

文章来源: xiaolong.blog.csdn.net,作者:DS小龙哥,版权归原作者所有,如需转载,请联系作者。

原文链接:xiaolong.blog.csdn.net/article/details/112100900

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。