1、首先新建界面项目文件 会有以下文件生成 (当然也可以不用ui界面 用的话感觉会方便很多)
新建ui项目子窗口dialog文件的时候选择啥按键都不带的,没有确认、关闭、最大最小化等按键的界面 这样可以任我们修改样式
dialog.h dialog.cpp dialog.ui
2、在ui界面中新增2个lable 一个用来设置遮掩层 一个用来设置背景 而真正的dialog窗口将它进行全透明(不知道为啥 dialog的setWindowOpacity(0.5)属性并没有反应 如果有反应的话 可以直接把它当遮掩层 也就不需要2个lable了)
1)设置dialog窗口的属性 (无边框 模态)
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
this->setWindowModality(Qt:windowModal);
2)将遮掩lable1设置样式表添加背景图然后通过setWindowOpacity(0.7)设置透明度 或者用QColor以及Alpha值添加纯色与透明(最好可以在ui界面操作中右击控件选择“放在后面”或者通过代码 lower()函数放到后面)
3)同理 将lable2 也设置样式表添加背景图,可以带边框特效的那种图
4)在界面上添加其他的子窗口控件 如关闭按键,也可以设置添加背景图
5)在父窗口中new dialog(this)即可
3、按照这样的方式创建的子窗口能用图片创建各种炫酷的子窗口了