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

1. 定义一个 QDialog 对象 : QDialog dialog(this)如果是在函数中定义的变量,函数执行完自动释放 dialog.show() 一闪而过  ------->非模态

  如果改为    dialog.exec(); ------>模态对话框,mywidget类对象窗口除非关闭这个对话框才会弹出来

定义了个指向QDialog类对象的指针变量 QDialog * dialog = new QDialog(this);dialog->show()   ------->非模态

模态对话框没有关闭它之前,不能与应用程序的其他窗口交互

非模态对话框,既可以与它交互,也可以同一程序中的其他窗口交互

QDialog *dialog = new QDialog(this)

dialog->setModal(true)

dialog->show()        //模态对话框

setWindowModality(param)

扫描二维码关注公众号,回复: 7518390 查看本文章

param: Qt :: NonModal(不阻塞任何窗口,非模态)

    Qt :: WindowModal(阻塞他的父窗口和所有祖先窗口以及他们的子窗口)

    Qt::ApplicationModal(阻塞整个应用窗口)默认设置

猜你喜欢

转载自www.cnblogs.com/AmyBKLP/p/11707194.html