QT-模态对话框与非模态对话框笔记

本文详细介绍了QT中模态对话框和非模态对话框的概念及应用。模态对话框限制了用户只能在当前对话框进行操作,而非模态对话框允许用户同时操作多个窗口。在QT中创建非模态对话框,常见的方法是在调用时使用new关键字,但需要注意内存管理,可以设置setAttribute(Qt::WA_DeleteOnClose)来确保对话框关闭时自动删除。
摘要由CSDN通过智能技术生成

QT-模态对话框与非模态对话框笔记

模态与非模态的定义:

  • 模态对话框(Modal dialog box):只可在当前程序的当前对话框执行操作,不允许对当前程序的其他对话框执行操作。

  • 非模态对话框(Modeless dialog box):打开当前程序的一个窗口后,仍能在当前程序的其他窗口执行操作。

在QT里创建对话框需包含头文件< QDialog>,创建非模态对话框可以用三种方法,常用的是在调用时new;第二种是提前声明其为类中成员函数;第三种是全局声明,这种很少用。

非模态对话框在调用时new,需注意空间的释放问题。

使用setAttribute属性事件接收Qt::WA_DeleteOnClose 事件,让QWidget在触发关闭事件时,自动delete。

setAttribute说明:

void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on = true)
其返回值空,第二参为true时,接受第一参设置函数属性,false则清除事件属性。第二参不填则默认ture.

WA_DeleteOnClose说明:

Qt::WA_DeleteOnClose属于enum Qt::WidgetAttribute中的55。
其作用是接受关闭事件时,delete QWidget.


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值