本文主要是介绍Qt实现弹窗后背景淡化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这里提供一种思路,在弹窗和主窗体中再加一层黑色背景的透明度为0.7的窗体
该中间层窗口的初始化代码如下m_pMask是主窗体类的成员QWidget*:
m_pMask = new QWidget(this);m_pMask->setWindowFlags(Qt::Window|Qt::FramelessWindowHint |Qt::WindowSystemMenuHint|Qt::WindowMinimizeButtonHint|Qt::WindowMaximizeButtonHint);m_pMask->hide();m_pMask->setWindowOpacity(0.7);m_pMask->setStyleSheet("background-color:black");m_pMask->setFixedSize(this->width(),this->height());
在弹出窗口的时候,m_pMask的大小设置为主窗体的大小,且move到刚好覆盖主窗体的位置;在关闭弹窗的同时关闭m_pMask
效果图如下:
这篇关于Qt实现弹窗后背景淡化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!