厦门企业官方网站建设,东莞网站到首页排名,做的比较唯美的网站,2022年十大网络流行语发布1、要理清两个函数的区别#xff0c;首先需要理解窗口模式#xff1a;
模式窗口#xff1a;窗口会原地阻塞#xff0c;只能操作该窗口#xff0c;其余窗口不能再操作#xff1b;只有关闭该窗口后#xff0c;代码处才会获得返回值#xff0c;阻塞停止#xff0c;就可以…1、要理清两个函数的区别首先需要理解窗口模式
模式窗口窗口会原地阻塞只能操作该窗口其余窗口不能再操作只有关闭该窗口后代码处才会获得返回值阻塞停止就可以操作其它界面了 半模式窗口窗口会原地伪阻塞虽然也是只能操作该窗口其余窗口不能再操作但是代码会继续往下运行所以说是伪阻塞 非模式窗口窗口不会阻塞可以随意操作 2、exec()和show()的区别 exec()一般用于子窗口界面在执行完后就会析构掉子窗口不会占用系统资源。show()一般是用于与主窗口同步显示的界面。会跟主窗口同时存在。 QDialog* Dlg new QDialog(this); Dlg-exec(); 模式窗口 QDialog* Dlg new QDialog(this); Dlg-setModal(true); Dlg-show(); 半模式窗口 QDialog* Dlg new QDialog(this); Dlg-show(); 非模式窗口
3、如何使用 qt 类中继承:public QDialog即可用exec()函数。 以下两组代码都会出现dlg窗口但代码1是执行完show()后会回到主界面执行而代码2会阻塞到exec()函数上执行窗口的事件等待dlg窗口调用close才会退出此函数。 myDlg *Dlg new myDlg(this);Dlg-show();
myDlg Dlg(this);Dlg.exec();