QDialog的exec方法会自动调用show方法,而不像QWidget需要手动show

如题,建立一个基类是QWidget的项目默认的main函数是这样的。
QDialog的exec方法会自动调用show方法,而不像QWidget需要手动show

建立一个基类是QDialog的项目默认是这样的:
QDialog的exec方法会自动调用show方法,而不像QWidget需要手动show
二者看起来没有任何区别。
但是,第二张图中的代码也可以改成这样:
QDialog的exec方法会自动调用show方法,而不像QWidget需要手动show
可以做实验,第一张图中的代码是不可以这样改的。

因此可以认为:
1. QDialog类中的exec方法包含了show方法
2. 除了项目默认的方式,通常就可以用exec方法代替show方法,因为exec方法既能显示,也能输出一个返回值,可以供主程序判断使用。例如下图这样:
QDialog的exec方法会自动调用show方法,而不像QWidget需要手动show