2.定义窗口返回值-事件【PySimpleGUI】【乡村培育站2023.8】
1窗口关闭事件。2按钮点击事件。3其他元素事件
窗口关闭事件
窗口关闭按钮是一个特殊的按钮,在界面的右上角×
编写方法:
1 if event == None: #窗口关闭事件
2 break
3 if event == sg.WIN_CLOSED: #窗口关闭事件
4 break
注意:定义窗口关闭事件至关重要的,当你忘记定义窗口关闭事件,然后又点击窗口右上角的×按钮,它会默默地消耗你100%的cpu。
按钮点击事件
方法一:
1 #导入库
2 import PySimpleGUI as sg
3 #定义布局,确定行数
4 layout = [
5 [sg.Text("请输入你的基本信息:")],
6 [sg.Text("姓名:"), sg.InputText("程序员无声")],
7 [sg.Text("性别:"), sg.InputText("男")],
8 [sg.Text("国籍:"), sg.InputText("中国")],
9 [sg.Button("确定"), sg.Button("取消")]
10 ]
11 #创建窗体
12 window = sg.Window("Python GUI", layout)
13 #事件循环
14 while True:
15 event, values = window.read() #窗体的读取,有两个返回值(1.事件 2.值)
16 if event == None: #窗口关闭事件
17 break
18 #an
19 #判断事件是否发生
20 if event == "确定": #判断事件是否发生
21 sg.Popup("执行确定任务")
22 break
23 if event == "取消": #判断事件是否发生
24 sg.Popup("执行取消任务")
25 break
26 #关闭窗体
27 window.close()
执行结果:

方法二:
1 #导入库
2 import PySimpleGUI as sg
3 #定义布局,确定行数
4 layout = [
5 [sg.Text("请输入你的基本信息:")],
6 [sg.Text("姓名:"), sg.InputText("程序员无声")],
7 [sg.Text("性别:"), sg.InputText("男")],
8 [sg.Text("国籍:"), sg.InputText("中国")],
9 [sg.Button("确定"), sg.Button("取消")]
10 ]
11 #创建窗体
12 window = sg.Window("Python GUI", layout)
13 #事件循环
14 while True:
15 event, values = window.read() #窗体的读取,有两个返回值(1.事件 2.值)
16 if event == None: #窗口关闭事件
17 break
18 #判断事件是否发生
19 if event in ("取消", None):
20 sg.Popup("点击取消或者窗口关闭按钮")
21 break
22 #关闭窗体
23 window.close()
执行结果:

方法三:
1 #导入库
2 import PySimpleGUI as sg
3 #定义布局,确定行数
4 layout = [
5 [sg.Text("请输入你的基本信息:")],
6 [sg.Text("姓名:"), sg.InputText("程序员无声")],
7 [sg.Text("性别:"), sg.InputText("男")],
8 [sg.Text("国籍:"), sg.InputText("中国")],
9 [sg.Button("确定"), sg.Button("取消")],
10 [sg.Button("确定1"), sg.Button("1取消")]
11 ]
12 #创建窗体
13 window = sg.Window("Python GUI", layout)
14 #事件循环
15 while True:
16 event, values = window.read() #窗体的读取,有两个返回值(1.事件 2.值)
17 if event == None: #窗口关闭事件
18 break
19 #判断事件是否发生
20 if event.startswith("确定"):
21 sg.Popup("请点击确定按钮")
22 break
23 if event.endswith("取消"):
24 sg.Popup("请点击取消按钮")
25 break
26 #关闭窗体
27 window.close()
执行结果:

其他元素事件
像文本元素,输入框,下拉菜单等事件属性默认是关闭的。当手动设置他们的事件属性enable_events = True为真时,他们也将具有事件属性。
1 #导入库
2 import PySimpleGUI as sg
3 #定义布局,确定行数
4 layout = [
5 [sg.Text("请输入你的基本信息:")],
6 [sg.Text("姓名:", enable_events=True), sg.InputText("程序员无声")],
7 [sg.Text("性别:"), sg.InputText("男")],
8 [sg.Text("国籍:"), sg.InputText("中国")],
9 [sg.Button("确定"), sg.Button("取消")]
10 ]
11 #创建窗体
12 window = sg.Window("Python GUI", layout)
13 #事件循环
14 while True:
15 event, values = window.read() #窗体的读取,有两个返回值(1.事件 2.值)
16 if event == None: #窗口关闭事件
17 break
18 #判断事件是否发生
19 if event == "姓名:":
20 sg.Popup("你点击的是姓名")
21 break
22 #关闭窗体
23 window.close()
运行结果:


浙公网安备 33010602011771号