Qt模态对话框和非模态对话框

1、模态对话框
(1)要想使一个对话框成为模态对话框,只需要条用它的exec()函数。
QDialog dialog(this);
dialog.exec();
(2)show()函数建立模态对话框,调用函数setModal(true)函数即可。
QDialog *dialog = new QDialog(this);
dialog->setModel(true);
dialog->show();


总结:setModel()与用exec()函数时的效果是不一样的,调用show()函数后会立刻把控制权交给调用者,程序可以继续往下执行;
而调用exec()函数,只有当对话框关闭时才会有返回值。


2、非模态对话框
(1)要想使一个对话框成为非模态对话框,使用new动态创建。
QDialog *dialog = new QDialog(this);
dialog->show();


setWindowModality()函数,有一个参数设置模态对话框要阻塞的窗口类型,可以是Qt::NonModal(不阻塞任何窗口,几非模态)、
Qt::WindowModel(阻塞它的父窗口和所有的祖先窗口及他们的子窗口)、Qt::ApplicationModel(阻塞整个应用程序的窗口)三者之一,
setModel()函数默认的是Qt::ApplicationModel.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值