1. PySimpleGUI简介
2. PySimpleGUI基础用法
- 图形窗口的一些要素:(1) 窗口风格(颜色等); (2)窗口标题;(3) 界面布局; (4)控件及其事件响应
- 在深入研究PySimpleGUI用法细节之前,用一个实例展示PySimpleGUI的基础语法。
2.1. 一个完整的PySimpleGUI实例
# 原码链接: https://pysimplegui.readthedocs.io/en/latest/
# 注释是作者所加
# Annotator: 潜水的007
import PySimpleGUI as sg # 导入PySimpleGUI模块,并命名为sg(sg为官网推荐命名,可用其他字符替代)
sg.theme('DarkAmber') # 设置窗口主题样式,参数为样式名称,本样式为:"黑琥珀"
# 布局layout 是一个二维列表,包含窗口界面将要呈现的控件
# 布局layout二维列表中的每个元素代表一行,每个元素的子列表代表一行中的多个控件
layout = [ [sg.Text('Some text on Row 1')], #本行1个控件,静态显示文本
[sg.Text('Enter something on Row 2'), sg.InputText()], # 本行2个控件,分别是静态显示文本和文本输入框
[sg.OK('OK', key='OK'), sg.Cancel('Cancel', key='Cancel')]] # 本行2个控件,分别是"确定"和"取消"按键,参数1为按键的显示文字,参数key为按键的键值
# 定义好layout后,创建窗口
window = sg.Window('Window Title', layout) # 把构造的布局加入窗口中
# Event Loop to process "events" ,添加事件处理
while True:
event, values = window.read() # 用于读取页面上的事件和输入的数据。
# 其返回值为('事件', {0: '输入控件1接收的值', 1: '输入控件2接受的值'})
if event == 'Cancel': #
break # 退出循环
window.close() # 关闭窗口界面
2.2. PySimpleGUI图形界面基本构建步骤
- (1) 设置窗口主题样式
- (2) 设计窗口布局,调用PySimpleGUI模块定义好的各种控件
- (3) 创建窗口
- (4) 添加事件处理
- (5) 关闭窗口界面
- 窗口布局是关键,而控件是布局的关键,因此了解并熟悉各种控件是用好PySimpleGUI的基本前提
- 创建GUI界面(窗口)前,需定义好窗口主题样式,和窗口界面中的控件及其响应事件处理
3. PySimpleGUI常用控件
| 序号 |
控件函数 |
控件类型 |
| 1 |
文本控件 |
| 1-1 |
sg.Text() 或者 sg.T() |
静态显示文本 |
| 1-2 |
sg.Input() 或 sg.In() 或 sg.InputText() |
文本输入框 |
| 1-3 |
sg.Listbox() |
多行列表文本框 |
| 1-4 |
sg.Multiline() |
大文本框 |
| 2 |
按键控件 |
| 2-1 |
sg.Button() 或 sg.B() |
按键 |
| 2-2 |
sg.Exit() |
退出按键 |
| 2-3 |
sg.OK() |
确认按键 |
| 2-4 |
sg.Cancel() |
取消按键 |
| 2-6 |
sg.Submit() |
提交按键 |
| 3 |
弹窗控件 |
| 3-1 |
sg.popup() |
单一确认按键弹窗 |
| 3-2 |
sg.popup_ok() |
默认ok按键弹窗 |
| 3-3 |
sg.popup_yes_no() |
带Yes和No按键的弹窗 |
| 3-4 |
sg.popup_cancel() |
带cancel按钮的弹窗 |
| 3-5 |
sg.popup_ok_cancel() |
带OK和cancel按钮的弹窗 |
| 3-6 |
sg.popup_error() |
带红色error按钮的弹窗 |
| 3-7 |
sg.popup_yes_no() |
带Yes和No按键的弹窗 |
| 3-8 |
sg.popup_auto_close() |
几秒后自动关闭的弹窗 |
| 3-9 |
sg.popup_scrolled() |
文字内容弹窗 |
| 3-10 |
sg.popup_get_text() |
获取用户输入的弹窗 |
| 3-11 |
sg.popup_get_file() |
文件选择弹窗,可用于文件保存 |
| 3-12 |
sg.popup_get_folder() |
文件夹选择弹窗 |
| 3-13 |
sg.one_line_progress_meter() |
进度条弹窗 |
| 4 |
文件(夹)选择控件 |
| 4-1 |
sg.FileBrowse() |
文件选择 |
| 4-2 |
sg.FolderBrowse() |
文件夹选择 |
| 5 |
单选/复选框 |
| 5-1 |
sg.Checkbox() |
多选框 |
| 5-2 |
sg.Radio() |
单选框 |
| 5-3 |
sg.InputCombo() |
下拉列表框 |
| 5-6 |
sg.InputOptionMenu() |
下拉选项 |
| 6 |
其他 |
| 6-1 |
sg.Menu() |
菜单 |
| 6-2 |
sg.Frame() |
块 |
| 6-3 |
sg.Column() |
定义列 |
| 6-4 |
sg.ProgressBar() |
进度表/进度条 |
| 6-5 |
sg.Slider() |
滚动条 |
| 6-6 |
sg.Print() |
打印到调试窗口 |
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。