python --pysimplegui开发gui界面
- pip install pysimplegui
-
- from PySimpleGUI import Window, Button, Text, WIN_CLOSED
- t1 = Text('test')
- b1, b2 = Button('hello gui', key='b1'), Button('hai gui2', key='b2')
-
- layout = [
- [t1, ],
- [b1, b2]
- ]
-
- window = Window('My GUI', layout) # 以layout为布局创建窗体
-
- while True:
- event, value = window.read()
- print(f'key>>>{event};value>>>{value}')
- if event == WIN_CLOSED:
- break
- if event == 'b1':
- t1.update('update')
- if event == 'b2':
- t1.update('test')
-
- window.close()
-
结果
【注】 layout 数组里的每一行和窗口里的行一一对应
公有属性
size 接受一个int元组。第一位表示宽度,第二位表示高度。宽和高一般以字符为计量单位。例如,下面的文本显示结果如下:
- from PySimpleGUI import Window, Button, Text, WIN_CLOSED
- t1 = Text('test', size=(25, 19), font='Consolas')
- b1, b2 = Button('hello gui', key='b1'), Button('hai gui2', key='b2')
-
- layout = [
- [t1, ],
- [b1, b2]
- ]
-
- window = Window('My GUI', layout) # 以layout为布局创建窗体
-
- while True:
- event, value = window.read()
- print(f'key>>>{event};value>>>{value}')
- if event == WIN_CLOSED:
- break
- if event == 'b1':
- t1.update('update')
- if event == 'b2':
- t1.update('test')
-
- window.close()
-
结果
文本控件
函数 | 介绍 |
---|---|
sg.Text() 或者 sg.T() | 静态显示文本 |
sg.Input() 或 sg.In() 或 sg.InputText() | 文本输入框 |
sg.Listbox() | 多行列表文本框 |
sg.Multiline() | 大文本框 |
按键控件
函数 | 介绍 |
---|---|
sg.Button() 或 sg.B() | 按键 |
sg.Exit() | 退出按键 |
sg.OK() | 确认按键 |
sg.Cancel() | 取消按键 |
sg.Submit() | 提交按键 |
弹窗控件
函数 | 介绍 |
---|---|
sg.popup() | 单一确认按键弹窗 |
sg.popup_ok() | 默认ok按键弹窗 |
sg.popup_yes_no() | 带Yes和No按键的弹窗 |
sg.popup_cancel() | 带cancel按钮的弹窗 |
sg.popup_ok_cancel() | 带OK和cancel按钮的弹窗 |
sg.popup_error() | 带红色error按钮的弹窗 |
sg.popup_yes_no() | 带Yes和No按键的弹窗 |
sg.popup_auto_close() | 几秒后自动关闭的弹窗 |
sg.popup_scrolled() | 文字内容弹窗 |
sg.popup_get_text() | 获取用户输入的弹窗 |
sg.popup_get_file() | 文件选择弹窗,可用于文件保存 |
sg.popup_get_folder() | 文件夹选择弹窗 |
sg.one_line_progress_meter() |
文件(夹)选择控件
函数 | 介绍 |
---|---|
sg.FileBrowse() | 文件选择 |
sg.FolderBrowse() | 文件夹选择 |
单选/复选框
函数 | 介绍 |
---|---|
sg.Checkbox() | 多选框 |
sg.Radio() | 单选框 |
sg.InputCombo() | 下拉列表框 |
sg.InputOptionMenu() | 下拉选项 |
其他
函数 | 介绍 |
---|---|
sg.Menu() | 菜单 |
sg.Frame() | 块 |
sg.Column() | 定义列 |
sg.ProgressBar() | 进度表/进度条 |
sg.Slider() | 滚动条 |
sg.Print() | 打印到调试窗口 |
公共参数
- import PySimpleGUI as sg
-
- progress = sg.ProgressBar(100)
- num1_inp = sg.Input(size=5)
- num2_inp = sg.Input(size=5)
- result_txt = sg.Text()
- add_btn = sg.Button('add')
-
- layout = [
- [num1_inp, num2_inp, result_txt],
- [progress],
- [add_btn]
- ]
-
- window = sg.Window('slow calculator', layout)
-
- while True:
- event, value = window.read()
- if event == sg.WINDOW_CLOSED: break
- if event == 'add':
- num1 = int(num1_inp.get())
- num2 = int(num2_inp.get())
- result_txt.update(str(num1 + num2))
-
结果