大邓 Crossin的编程教室 2020-02-11

很多同学学了 Python 之后都想开发带界面的程序,也就是 GUI 应用。一般用的比较多的 GUI 库是 Tkinter(Python 自带)和 PyQt(功能强大)。今天,我们来介绍另一个极简风格的 GUI 库:

PySimpleGui

PySimpleGui是一个很Python的库,虽然不如Qt功能强大,但由于使用的python风格设计的语法所以对于编程小白来说体验很接地气。

先给大家看一个PySimpleGui做出来的效果图

一个极简易上手的 Python GUI 库_Python


实际上,PySimpleGUI就是基于Tkinter、PyQt,以及 Remi、wxPython基础之上的。但在使用上,会比它们更简便。下面我们就来用个实例来尝试创建一个简单的GUI应用。

设计思路

Step1 画出gui草图


一个极简易上手的 Python GUI 库_Python_02

Step2 将gui按行切分


一个极简易上手的 Python GUI 库_Python_03

Step3 给每部分配置相应的组件

一个极简易上手的 Python GUI 库_Python_04

写代码

第一行只是文本提示作用,使用sg.Text

[ sg.Text('Enter a number') ]

第二行有一个输入字段

[ sg.Input() ]

第三行是一个OK按钮

[ sg.OK() ]

现在我们已经将这三行都定义了,那么将这三行定义好的代码放到一个列表中就代表了整个窗口的组织结构。

layout = [ [sg.Text('Enter a Number')],
           [sg.Input()],
           [sg.OK()] ]

完整代码如下

import PySimpleGUI as sg

#给gui按行布局
layout = [[sg.Text('Enter a Number')],      
          [sg.Input()],      
          [sg.OK()] ]

#生成gui
event, (number,) = sg.Window('Enter a number example').Layout(layout).Read()

#弹出框
sg.Popup(event, number)

运行效果


下拉选项


滑动条


按钮


复选框

一个极简易上手的 Python GUI 库_Python_05

OK/Cancel

一个极简易上手的 Python GUI 库_Python_06

文件夹浏览

一个极简易上手的 Python GUI 库_Python_07

文件浏览

一个极简易上手的 Python GUI 库_Python_08

进度条

一个极简易上手的 Python GUI 库_Python_09

列的布局

一个极简易上手的 Python GUI 库_Python_10


附:PySimpleGui官方文档

https://pysimplegui.readthedocs.io/en/latest/


作者:大邓

来源:大邓和他的Python