QT模态对话框用法

QT弹出模态对话框做法:

1、新建UI文件时,一定要选择基类是QDialog的,我的选择是:Dialog without Buttons(),如下图:

2、然后在使用的时候:

MyDialog dlg(this);

dlg.exec();

如果不加this,则会在任务管理器里面产生一个新的EXE。

3、如果对话框的标题是自定义,不想使用系统的标题,这时候需要在代码中加入:

setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint );

setAttribute(Qt::WA_TranslucentBackground);

设置窗口标志时一定要加:Qt::Dialog,否则对话框弹出后不是以模态对话框的形式弹出的,会变成非模态对话框。

附:模态对话框自定义标题,且带透明阴影边框:

主要思想:

1、对话框上放一个Widget控件,这个Widget用来存放背景图片;

2、把对话框设置成无标题、无最小化按钮样式,并将背景完全透明化;

在对话框类,初始化加入:

setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint );
setAttribute(Qt::WA_TranslucentBackground);

在UI文件中设置Widget背景图,这个图是一个带阴影边框的图片:

#widget{border-image:url(:/images/bk.png)}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值