Qt编程 —— 模态对话框和非模态对话框

文档声明:
以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该文档在后期会随着学习的深入不断补充完善。感谢各位的参考查看。


笔记资料仅供学习交流使用,转载请标明出处,谢谢配合。
作者:Aliven888

1、Qt 对话框

在Qt中的对话框依旧分为模态对话框和非模态对话框两种。接下来我们将依次介绍下它们的使用方法。

1.1、模态对话框

模态对话框:当时模态对话框弹出时,软件中的其他对话框都将暂时无法操作。线程是阻塞的。

	QDialog *dlg = new QDialog(this);  //创建对话框对象
	dlg->setWindowTitle("我是模态对话框"); //对话框标题
	dlg->resize(200, 150);  //为了避免默认弹框太小,这里设置下尺寸
	dlg->exec();  //显示对话框
	
	delete dlg;  //因为定制的是临时对象,所以这里建议释放下资源
	dlg = nullptr;

结果输出:
在这里插入图片描述

1.2、非模态对话框

非模态对话框:当时非模态对话框弹出时,不影响软件其他对话框的操作。线程是非阻塞的。

	QDialog *dlg = new QDialog(this);
	dlg->setWindowTitle("我是非模态对话框"); //对话框标题
	dlg->resize(200, 150);  //为了避免默认弹框太小,这里设置下尺寸
	dlg->setAttribute(Qt::WA_DeleteOnClose);  //设置串口关闭自动释放对象资源
	dlg->show();  //显示对话框

    //这里不能使用下面的方法释放临时变量,否则会导致窗口一闪而过。
	//所以在上面使用了setAttribute函数来实现资源释放
	//因为Qt释放资源是在主进程关闭后,所以为了避免临时变量多次创建而不释放,需要手动释放一下。
// 	delete dlg;
// 	dlg = nullptr;

结果输出:
在这里插入图片描述

2、笔记跟新记录

时间内容
2020-10-11创建笔记
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值