python图形界面开发文档:第二课:如何定义窗口返回值–事件

本节课程订讲解python编程时,用PySimpleGUI编写界面时,如何定义窗口的事件。

  1. 窗口关闭事件 。

    窗口关闭按钮是一个特殊的按钮,在界面的右上角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()

资源下载: