【PySimpleGUI】Python用户交互图形界面开发(2)


前言

上一篇文章介绍了制作基础的交互式窗口的方法(导入模块,定义布局,创建窗口,事件循环,关闭窗口)Python用户交互图形界面开发(1)
这篇介绍事件:窗口关闭,按钮点击以及其他元素事件。


event 事件

  1. 窗口关闭事件
  2. 按钮点击事件
  3. 其他元素事件

一、窗口关闭按钮(就是窗口上‘X’按钮)

if event==None:  #第一种方式
    break
if event==sg.WIN_CLOSED: #第二种方式
    break

#如果忘记定义窗口关闭事件,点击“X”按钮后,依然会cpu占用100%。

二、按钮点击事件

if event=='提交':  #点击确认按钮
    print'已提交'#点击确认按钮后,就是点击事件发生时需要执行的任务
    sg.Popup('内容已提交'#或者设置弹窗,在点击提交后出现弹窗提示
if event=='取消':  #点击确认按钮
    print'已取消'#点击取消按钮执行的任务
    sg.Popup('内容已取消'

判断事件发生的四种方式:

if event=='退出':  #如果点击了退出按钮
    sg.Popup('已退出'#则执行弹窗,弹窗提示已退出
    break #第一种

if event in('退出',None):  #点击退出或者窗口关闭按钮,两个按钮都执行同一个任务
    sg.Popup('已退出'break #第二种

if event.startswith('开头') #第三种:只要点击了已括号内文字为开头的按钮就执行下方任务。*也就是按钮上的文字是——开头xxx

if event.endswith('结尾') #第四种:只要点击了已括号内文字为结尾的按钮就执行下方任务。*也就是按钮上的文字是——xx结尾

在这里插入图片描述

三、其他元素点击事件

文本,输入框,下拉菜单等元素的事件属性默认是关闭的,也就是点击不会触发事件,但是可以手动设置enable_events=Ture。
例如:

import PySimpleGUI as sg  #导入模块并重命名

# 定义布局 确定行数
layout = [[sg.Text("What's your name?")], 
          [sg.Text('姓名',enable_events=Ture)], #手动设置事件
          [sg.Button('Ok'), sg.Button('退出')]] 
# 创建窗口
window = sg.Window('窗口标题', layout)
# 事件循环
while True:
    event, values = window.read() #窗口读取————返回事件,值
    if event == sg.WINDOW_CLOSED or event == '退出':
        break
    
    if event == '姓名':
        sg.Popup('这是个文本'#为姓名文本设置一个触发事件,点击姓名这两个字就会弹出一个弹窗提示
        
# 关闭窗口
window.close()

未完待续

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Turbo正则

如果对您有用请我喝杯咖啡吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值