前言
上一篇文章介绍了窗口关闭,按钮点击以及其他元素事件。【PySimpleGUI】Python用户交互图形界面开发(2)
这篇介绍:获取窗口的值
一、通过列表索引获取窗口返回值
if event == '确认': #先输入一个触发事件
print(values) #values返回全部的值
print(values[0]) #values[0]返回下标为0的值
二、通过字典的键获取返回值
当给元素设定标识符key,则该元素不再通过列表索引,只能通过字典key索引。
layout =[[sg.Input(key='-INPUT-')], #输入框定义一个key
[sg.Text(size=(40,1), key='-OUTPUT-')]] #文本也可以定义key来获取返回值
if event == '确认':
print(values['name']) #直接用values['key的名称']输出获取的值
代码示例:
import PySimpleGUI as sg #导入模块并重命名
# 定义布局 确定行数
layout = [[sg.Text("What's your name?")], #第一行文本
[sg.Input(key='-INPUT-')], #第二行输入框
[sg.Text(size=(40,1), key='-OUTPUT-')], #第三行输出文本,size参数以字符为单位定义元素的大小(宽,高)
[sg.Button('Ok'), sg.Button('退出')]] #第四行按钮
# 创建窗口
window = sg.Window('窗口标题', layout)
# 事件循环
while True:
event, values = window.read() #窗口读取事件,值
# 检查用户是否单击“X”或“退出”按钮关闭窗口。如果发生其中任一操作,那么跳出事件循环关闭窗口。
if event == sg.WINDOW_CLOSED or event == '退出':
break
# 输出信息
window['-OUTPUT-'].update('Hello ' + values['-INPUT-'] + "!")
# 关闭窗口
window.close()
未完待续