File tree Expand file tree Collapse file tree 1 file changed +47
-0
lines changed
03-QtWidgets-常用控件/12-Dialog-对话框/05-QMessageBox-信息提示框 Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Original file line number Diff line number Diff line change
1
+ import sys
2
+
3
+ from PySide6 import QtWidgets
4
+
5
+ """
6
+ QMessageBox 信号
7
+
8
+ 除继承自父类的信号,QMessageBox只有一种信号:
9
+
10
+ .buttonClicked(button: QAbstractButton) 当信息提示框中的按钮被点击时发射此信号,按钮作为参数传出
11
+
12
+ """
13
+
14
+
15
+ class MyWidget (QtWidgets .QWidget ):
16
+ def __init__ (self , * args , ** kwargs ):
17
+ super ().__init__ (* args , ** kwargs )
18
+ self .setWindowTitle ("QMessageBox-信号" )
19
+ self .resize (800 , 600 )
20
+ self .setup_ui ()
21
+
22
+ def setup_ui (self ) -> None :
23
+ """设置界面"""
24
+
25
+ # 创建对话框
26
+ message_box = QtWidgets .QMessageBox (
27
+ QtWidgets .QMessageBox .Warning ,
28
+ "这是一个消息提示框" ,
29
+ "您不能在关闭模态对话框前操作其他窗口!" ,
30
+ QtWidgets .QMessageBox .Ok | QtWidgets .QMessageBox .Cancel ,
31
+ self ,
32
+ )
33
+
34
+ # 测试信号:将获取到的按钮的文本打印到终端
35
+ message_box .buttonClicked .connect (lambda btn : print (btn .text ())) # type: ignore
36
+
37
+ # 在主界面上弹出对话框
38
+ pop_btn = QtWidgets .QPushButton ("弹出对话框" , self )
39
+ pop_btn .move (200 , 200 )
40
+ pop_btn .clicked .connect (message_box .open ) # type: ignore
41
+
42
+
43
+ if __name__ == "__main__" :
44
+ app = QtWidgets .QApplication (sys .argv )
45
+ window = MyWidget ()
46
+ window .show ()
47
+ sys .exit (app .exec ())
You can’t perform that action at this time.
0 commit comments