课程简介
1、窗口关闭事件
2、按钮点击事件
3、其他元素事件
一、窗口关闭事件
1)窗口关闭按钮是一个特殊的按钮,在界面的右上角“×”
2)编写方法
if event== None:#窗口关闭事件
break
if event= sg.WIN_CLOSED:#窗口关闭事件
break
注意:
定义窗口关闭事件是至关重要的,忘记定义窗口关闭事件,但后又点击窗口右上角的“×”按钮,它会默默的消耗你100%CPU。
二、按钮点击事件
if event==“确认”:# 判断事件是否发生
print(“确认”),#事件发生时要处理执行的任务
sg.Popup(“执行确认任务”)
if event==“取消”:#判断事件是否发生
print(“取消”),#事件发生时要处理执行的任务
sg.Popup(“执行取消任务”)
if event==“Exit”:
sg.Popup(“您点击了Exit按钮”) # 执行弹窗任务
break
if event in(“Exit”,None):
sg.Popup(“您点击了Exit或者窗口关闭按钮”)
break
if event.startswith(“Exit”): # 执行括号里面开头的任务
sg.Popup(“您点击了Exit***按钮”)
break
if event.endswith(“Exit”):
sg.Popup(“您点击了***Exit按钮”)
break
三、点击按钮事件(代码)
import PySimpleGUIas sg
# 定义布局
layout= [
[sg.Text("请输入您的基本信息")],
[sg.T("姓名"), sg.InputText("程序员")],
[sg.T("性别"), sg.In("男")],
[sg.T("国籍"), sg.In("中国")],
[sg.B("确定",key="ok"), sg.B("取消",key="Exit")],
[sg.B("确定_",key="ok_1"), sg.B("取消",key="1_Exit")],
]
# 创建窗口
window= sg.Window("Python GUI", layout)
# 事件循环
while True:
event, values= window.read() # 窗口的读取,有两个返回值(1、事件,2、值)
if event in ("Exit",None):
sg.Popup("您执行了取消任务")
break
if event== "ok":
sg.Popup("您执行了确定任务")
if event.startswith("ok"):
sg.Popup("您执行了确定弹窗任务")
# 关闭窗口
window.close()
效果如下:
四、其他元素事件
1)像文本元素、输入框、下拉菜单等事件属性默认是关闭的,只有手动设置他们的事件属性enable_events = True时,它们将具有事件属性。
例如:文本元素
layout= [[sg.Text("OK"),enable_evevnt = True]]
if event == "OK":
sg.Popup("文本属性为真")
代码如下:
import PySimpleGUIas sg
# 定义布局
layout= [
[sg.Text("请输入您的基本信息",enable_events= True)],
[sg.T("姓名"), sg.InputText("程序员")],
[sg.T("性别"), sg.In("男")],
[sg.T("国籍"), sg.In("中国")],
[sg.B("确定",key="ok"), sg.B("取消",key="Exit")],
[sg.B("确定_",key="ok_1"), sg.B("取消",key="1_Exit")],
]
# 创建窗口
window= sg.Window("Python GUI", layout)
# 事件循环
while True:
event, values= window.read() # 窗口的读取,有两个返回值(1、事件,2、值)
if eventin ("Exit",None):
sg.Popup("您执行了取消任务")
break
if event== "ok":
sg.Popup("您执行了确定任务")
if event.startswith("ok"):
sg.Popup("您执行了确定弹窗任务")
if event== "请输入您的基本信息":
sg.Popup("这个是文本,鼠标点击无用")
# 关闭窗口
window.close()
效果如下: