PyQt5-如何创建弹窗 (QDialog)

2025-09-28 00:23:14

1、①弹窗是个独立的顶层窗口,可以创建 QDialog 对象来创建一个窗口。

②QDialog继承自QWidget类,也是个可视化控件,QDialog是对话窗口的基类。

③弹窗有多种展示形式: 

阻塞展示, 弹窗若不关闭,无法操作主窗口;有两种展示:

----第一,应用程序级别的展示;使用exec()方法;包函了展示窗口。

----此种展示,必须先与对话框进行交互(例如取消,确定等交互),。

如图例中,创建一个弹窗。

PyQt5-如何创建弹窗 (QDialog)

2、阻塞展示对话框的第二种:

----窗口级别的展示;使用open()方法;包函了展示窗口。

----此种展示,阻塞与对话框关联的窗口,直到对话框交互动作完成并关闭。

PyQt5-如何创建弹窗 (QDialog)

3、非阻塞式:弹窗不阻塞与之关联窗口。仅使用show()方法即可。

PyQt5-如何创建弹窗 (QDialog)

1、show()方法结合showModel(bool) 方法;也能实现弹窗的阻塞。

PyQt5-如何创建弹窗 (QDialog)

2、show()方法结合setWindowModality(self, Qt.WindowModality) 

参数 Qt.WindowModality有3种形态:

非模态模式:

---- Qt.NonModal 或 0 ;不会阻止其他窗口的输入。

PyQt5-如何创建弹窗 (QDialog)

3、窗口模式;

setWindowModality(Qt. WindowModal) 

参数 Qt. WindowModal 或 1 ;

----该窗口是单一窗口层次结构的模式,并阻止对其父窗口、所有祖父母窗口以及其父窗口和祖父母窗口的所有同级窗口的输入。

PyQt5-如何创建弹窗 (QDialog)

4、应用程序模式:

setWindowModality(Qt.  ApplicationModal) 

参数:Qt.  ApplicationModal 或 2,

----该窗口是应用程序的模式,并阻止所有窗口的输入。

PyQt5-如何创建弹窗 (QDialog)

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢