QDialog

简介

Qt 中使用 QDialog 类实现对话框,通常是设计一个类继承 QDialog。

Qt 的对话框分为模态对话框非模态对话框,即阻塞和非阻塞对话框,

而模态对话框又有两种:应用程序级别的窗口级别的,分别指完成对话框之前阻塞整个应用和阻塞关联窗口。

  

操作

对话框是一个顶级窗口,大多数用于临时任务和短暂交流。

QDialog可能是modal或者modeless;

QDialog还可以提供一个返回值;

(1)  Modal Dialogs

         Modal Dialog可以阻塞其他窗口的输入,

Dialogs可以是application modal(默认值)或者是window modal。

         绝大数调用modal dialog的方式是调用exec(),当dialog关闭的时候,exec()将会提供一个返回值。

         一般将OK连接到accep()槽函数,Cancel连接到reject()槽函数

exec() 和  open()分别为应用程序级别和窗口级别的模态对话框,

show()则为非模态对话框。

QDialog::show(): 非模态,非阻塞的。

QDialog::exec(): 模态 ,阻塞,整个系统阻塞掉。

QDialog::open(): 窗口模态,只会阻塞一个窗口,而不是将整个系统阻塞掉。

  1. 如果使用exec()默认为模态的。

如果用show()需要设置setModel(true)才是模态的。

3、exec() 是一个循环时间函数

当调用

accept()(返回QDialog::Accepted),表示确定

reject()(返回QDialog::Rejected),表示取消

done(r)(返回r),

close()(返回QDialog::Rejected),

hide()(返回 QDialog::Rejected),

destory()(返回QDialog::Rejected)。

4、销毁对象

1)调用close()并不会销毁对象,设置属性setAttribute(Qt::WA_DeleteOnClose)才会在close后销毁对象。如果没有设置属性,则效果跟hide()、setVisible()差不多,都只是起一个隐藏作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值