exec()
和 show()
是用于显示对话框的两种不同方式,它们之间的区别主要在于对程序执行流程的影响和用户交互的方式:
-
exec()
函数:exec()
函数用于以模态方式显示对话框。- 调用
exec()
后,对话框会阻塞程序的其他部分,直到对话框关闭才会继续执行后续代码。 - 它会启动一个局部的事件循环,等待对话框关闭,并返回一个结果给调用者。
- 在使用
exec()
后,程序会等待用户对对话框进行操作,直到用户关闭对话框为止。
-
show()
函数:show()
函数用于以非模态方式显示对话框。- 调用
show()
后,对话框会显示在屏幕上,但程序会立即继续执行后续代码,而不会等待对话框关闭。 - 它不会阻塞程序的其他部分,用户可以同时与对话框和程序的其他部分进行交互。
- 对话框显示后,用户可以自由地与程序的其他部分进行交互,而不必等待对话框关闭。
因此,主要区别在于exec()
以模态方式显示对话框并阻塞程序执行,而 show()
则以非模态方式显示对话框并不会阻塞程序执行。你可以根据需求选择使用哪种方式来显示对话框。