本节课程订讲解python编程时,用PySimpleGUI编写界面时,如何定义窗口的事件。
-
窗口关闭事件 。
窗口关闭按钮是一个特殊的按钮,在界面的右上角X
编写方法:
if event==None:#窗口关闭事件
break
if event==sg.WIN_CLOSED:#窗口关闭事件
break
注意!!!
定义窗口关闭事件是至关重要的,当你忘记定义窗口关闭事件,然后又点击了窗口右上角的X按钮,
它会默默的消耗你100%的CPU。
2.按钮点击事件
if event==’确认’: #判断事件是否发生
print(‘确认’) #事件发生时要处理执行的任务
sg.Popup(‘执行确认任务’)
if event==’取消’: #判断事件是否发生
print(‘取消’) #事件发生时要处理执行的任务
sg.Popup(‘执行取消任务’)
3.判断事件是否发生的几种方式
if event==’Exit’:
sg.Popup(‘您点击了Exit’)
break
if event in (‘Exit’,None):
sg.Popup(‘您点击了Exit或者窗口关闭按钮’)
break
if event.startswith(‘确认’):
sg.Popup(‘您点击了Exit**的按钮’)
break
if event.endswith(‘确认’):
sg.Popup(‘您点击了**Exit的按钮’)
break
4.其他元素事件
像文本元素,输入框,下拉菜单等事件属性默认是关闭的。 当手动设置他们的事件属性enable_events=True为真时,他们也将具有事件属性。
以文本元素举例
layout=[[sg.Text(‘OK’,enable_events=True)]]
…
if event==’OK’:
sg.Popup(‘文本元素OK的事件属性为真’)
视频教程内,演示代码如下:
#1) 导入库
import PySimpleGUI as sg
#2) 定义布局,确定行数
layout=[
[sg.Text(‘请输入您的信息’)],
[sg.Text(‘姓名’,enable_events=True),sg.InputText(‘程序员无声’)],
[sg.Text(‘性别’),sg.InputText(‘男’)],
[sg.Text(‘国籍’),sg.InputText(‘汉’)],
[sg.Button(‘确认’),sg.Button(‘取消’)],
[sg.Button(‘确认1’),sg.Button(‘1取消’)]
]
#3) 创建窗口
window=sg.Window(‘Python GUI’,layout)
#4) 事件循环
while True:
event,values=window.read() #窗口的读取,有两个返回值(1.事件 2.值)
if event==None: #窗口关闭事件
break
if event.startswith(‘确认’):
sg.Popup(‘执行确认’)
if event.endswith(‘取消’):
sg.Popup(‘执行取消’)
if event == ‘姓名’:
sg.Popup(‘这是个文本,点了也没用’)
#5) 关闭窗口
window.close()