pysimplegui-第二课:窗口读取返回值--事件

课程简介

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()

效果如下:

你可能感兴趣的:(pysimplegui-第二课:窗口读取返回值--事件)