pysimpleGUI 窗口界面

0.a 控件元素属性设置说明集:
b部分可更新属性:
1.弹窗:sg.Popup('执行一个弹窗任务')
.判断按钮点击有效的几种方法:
if event == 'aaa'
if event in ('aaa','bbb') 相当于 or
if event.('aaa') 所有开头有aaa的按钮都有效
if event. ('aaa') 所有结尾有aaa的按钮都有效
02简单的界面
4,元素表示方法
= [ [sg.Text('abcd')],#单独一个元素
[sg.Text(i) for i in ['abcde',22]], #横向多个同类元素
[[sg.In(ii)] for ii in ['1',2,3]]#竖向多个同类元素
另:[ A元素,B元素,C,,,] 一行多个不同元素,但上述中列表表示法的不可能这样 。
import PySimpleGUIlayout = [[PySimpleGUI.Text("这是第一行数据")],[PySimpleGUI.Text("姓名"), PySimpleGUI.InputText("程序员王总")],[PySimpleGUI.Text("性别"), PySimpleGUI.InputText("男")],[PySimpleGUI.Text("国籍"), PySimpleGUI.InputText("中国")],[PySimpleGUI.Button("确定"), PySimpleGUI.Button("取消")]]windows = PySimpleGUI.Window("我的程序", layout)while True:event, values = windows.read()#读取窗口,返回两个值,一个是事件,一个是值if event is None:windows.close()break
03窗口关闭事件
即界面右上角的x
编写方法:
1)if event == None:(判断是否点击x)
需要执行的操作
2)if event == .:
需要执行的操作
注意:
必须定义窗口关闭事件,否则会消耗100%的CPU
04按钮点击事件:
编写方法:
1)if event == "对应按钮名称":
"""对应名称按钮被触发时的操作"""
.Popup("弹窗提示,进行按钮操作后的提示文字")
2)if event in ("按钮名称1","按钮名称2"):
"""对应多个按钮名称触发时的操作,即多按钮操作一个事件"""
.Popup("弹窗提示,进行按钮操作后的提示文字")
3)if event.("对应按钮名称"):
"""主要以括号内名称开头的按钮,都执行此事件"""
.Popup("弹窗提示,进行按钮操作后的提示文字")
4)if event.("对应按钮名称"):
"""只要以括号内名称结尾的按钮,都执行此事件"""
.Popup("弹窗提示,进行按钮操作后的提示文字")
5)像文本元素,输入框,下拉菜单等事件属性默认是关闭的 。如果需要,可以手动设置他们的事件属性,=True为真时,他们也将具有事件属性
以文本元素为例:
[...
.Text("OK",=True)
...]
此时该文本文件也会有触发事件
.Popup("文字"):其实就是一个小弹窗显示
5)获取输入窗口的值
.read()
现在通过该方法,可以读取到event,也能读取到,那此就是输入框内容所组成的列表,如果想要使用:
1)可以通过索引的方式进行引用
注意,这里能进到列表中的数据是没有经过key定义的,进过key的值不会存
在!
= [
[.Text("这是第一行数据")],
[.Text("姓名"), .("程序员王总")],
[.Text("性别"), .("男")],
[.Text("国籍"), .("中国")],
[.("确定"), .("取消")]
= .("我的程序", )
while True:
event,= .read()
if event == .:
.close()
break
if event == "确定":
print([0])
2922)通过字典的形式获取输入框的值
在定义输入框时,需要额外指定key以方便后续读取、
.("输入框的默认值",key="指定key值")
3)关于和event以及事件触发
记录了所有元素的值,如果对应元素有事件发生,那对应元素的key的值就会被记录,即如果元素的设置为真,那么当操作对应元素时,就会返回对应元素的值到的列表中