一、PySimpleGUI
PySimpleGUI,是一种利用python语言的GUI界面库,能够创建图形化用户界面,相比于pyqt和wxPython,其学习的难度更低,而且实现同样功能的代码量更少,很适于新手入门。
使用前需要安装PySimpleGUI库。
pip inatall PySimpleGUI
GUI窗口可以分成两类设计模式:
- One-shot window
- Persistent window
第一种窗口是一个弹出窗口,它会收集一些数据,然后消失。 它类似是一种“表格”,旨在快速获取一些信息然后将其关闭;
而第二种窗口是一种逗留的窗口,可以进行循环,读取和处理一些问题,例如opencv的图像处理。因此也更像一个典型的程序。
下面分析一个简单的GUI实现程序(one-shot window):
import PySimpleGUI as sg
layout = [[sg.Text('My one-shot window.')],
[sg.InputText(key='-IN-')],
[sg.Submit(), sg.Cancel()]]
window = sg.Window('Window Title', layout)
event, values = window.read()
window.close()
text_input = values['-IN-']
sg.popup('You entered', text_input)
- 设置窗口内容
layout是GUI窗口的内容,以列表形式给出,列表内部的每一个列表元素代表一行,其中:
sg.Text是文本框,该例程为My one-shot window。
sg.InputText是文本输入框,其中的key是标识输入框,若定位或更新输入框中的内容时用到,可以理解为字典的键。
sg.Submit和sg.Cancel是按钮。
- 窗口实例化、显示、关闭
window = sg.Window('Window Title', layout)是窗口的实例化,第一个元素是设置的窗口名,第二个是窗口的内容。
event, values = window.read()是窗口显示,其中event获取的是按键值,values获得各个插件的值,该例中为文本输入框的输入内容。
window.close()为关闭窗口。
- 弹窗
text_input = values['-IN-'] 是输入在文本框中的值。
sg.popup('You entered'