模态框与非模态框

模态对话框:就是在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭。

非模态对话框:当被打开时,用户既可选择和该对话框进行交互,也可以选择同应用程序的其他窗口交互。

 QDialog

一、生成模态对话框:

1、

QColorDialog colorDialog;//临时变量

colorDialog.exec();//阻塞

2、

QColorDialog* colorDialog = new QColorDialog(this);

colorDialog->setAttribute(Qt::WA_DeleteOnClose);//使对话框关闭时自动delete

colorDialog->setModal(true);

colorDialog->show();

二、生成非模态对话框

QColorDialog* colorDialog = new QColorDialog(this);

colorDialog->setAttribute(Qt::WA_DeleteOnClose);//使对话框关闭时自动delete

//colorDialog->setModal(false);//默认就是false,可以不要这句话

colorDialog->show();//此时对话框是非模态的,但是永远在主窗口前面

 QWidget

一、模态

在类构造函数中:

setAttribute(Qt::WA_ShowModal, true);

二、非模态

直接show

 

 

PS:对于某些模态子窗口,当点击其后面的主窗口时,会发出叮叮~的响声,并且会模态框会抖动;而有些又毫无反应。

第一种是因为此模态框的父类就是this,而后面的是NULL

转载于:https://www.cnblogs.com/judes/p/6972517.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值