您的位置:首页 > 编程语言 > Qt开发

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

2015-06-05 08:44 387 查看
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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: