Qt模态对话框与非模态对话框的问题

来源:互联网 发布:js时间差 编辑:程序博客网 时间:2024/05/22 06:19

QT模态对话框及非模态对话框

◆ 如果要设置为模态对话框,最简单的就是使用exec()方法,示例代码如下:

MyDialog myDlg;    myDlg.exec();

也可以使用show()方法,示例代码如下:

MyDialog myDlg;   

myDlg.setModal(true);    //此句代码设置模态,默认是false

myDlg.show();

◆  如果要设置为非模态对话框,必须使用show()方法,且必须使用指针方式,否则非模态对话框会一闪而过,示例代码如下:

MyDialog *myDlg = new MyDialog();   

myDlg->setModal(false);//此句代码设置非模态,默认是false

myDlg->show();
//如果采用对象方式,Qt对话框会一闪而过

MyDialog myDlg;    myDlg.setModal(false);  myDlg.show();    //会一闪而过