Python 图形界面1: PySimpleGUI基础用法及常用控件列表
2.1. 一个完整的PySimpleGUI实例
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界面(窗口)前,需定义好窗口主题样式,和窗口界面中的控件及其响应事件处理
- 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() | 打印到调试窗口 |

浙公网安备 33010602011771号