python pysimplegui_PySimpleGUI 簡介

说明:本文请随意引用或更改,只须标示出处及作者,作者不保证内容絶对正确无误,如造成任何后果,请自行负责.

PySimpleGUI 简介

创建图形用户界面 (GUI)可能很困难, 有许多不同的Python GUI工具包可供选择。最常提到的前三名是 Tkinter, wxPython 和 PyQt (或PySide2). 但是PySimpleGUI的较新工具包,其目的是使创建GUI更加容易。

PySimpleGUI 主要的作用是成为Tkinter, wxPython和PyQt之上的抽象层。您可以将其视为包装器, 拉近设计者与GUI 的距离. 虽然建立GUI 变的很简单, 相对的有很多细节被忽略掉, 也就是说你只能按PySimpleGUI 所提供的功能来使用.这个版本是架设在Tkinter 之上, 当然还有其他的版本, 像是PySimpleGUIQt, PySimpleGUIWx, PySimpleGUIWeb, …

所以说优点呢, 就是简单, 缺点也是简单, 以下大约说明一下使用方法, 其他的 GUI 很难在短短一篇文章就能说个大槪.

使用 PySmpleGUI, 基本上分成三大部份:

视窗布局

启动视窗

事件处理

视窗布局

layout = [ [第一行所有的部件], [第二行所有的部份], [第三行所有的部件], …]

所有的部件Element 类似tkinter 中的部件Widget, 同样有一堆选项, 绝大部份的选项都有预设值, 通常, 可能只要设置几项就够用了. 比如按钮, 要设置是上面的文字,字体, 按钮大小, 能产生事件, 按钮代表字串, 其他的PySimpleGUI 会有相对的预设值.

简单的范例如下, 两行文字, 第一行文字后面有个按钮.

还有一些容器的部件, 可以建立更复杂的布局.

import PySimpleGUI as sg

layout = [

[sg.Text('这是第一行, 后面有一按钮', font=font, size = (20, 1)),

sg.Button('结束', font=font, size=(6, 1), enable_events=True, key='Quit')],

[sg.Text('这是第二行', font=font, size=(20, 1))]]

启动视窗

加上以下这一行, 视窗才会真正的建立. 但这样还不行, 因为那只是视窗, 要有事件的处理才能真正算的上是 GUI.

window = sg.Window('这是视窗标题', layout=layout, finalize=True)

事件处理

所谓的事件, 比如输入设备的动作, 像鼠标, 键盘, 部件的动作, 以及程序的触动等等, 这些全部都使用一个动作来读取, 然后程序的主迴圈不停的循环读取, 再根据事件的种类处理. 范例如下.

# def do_something(value):

# pass

While True:

event, values = window.read()

if event in [None, 'Quit'] # None 是视窗关闭事件, 'Quit' 是布局中按钮的代表字串

break

# elif event == '其他部件的代表字串':

# value = values['其他部件的代表字串']

# do_something(value)

window.close()

就这样, GUI 最基本的轮廓就完成了, 简单介绍就这样, 有需求再深入介绍一些细节.

本作品采用《CC 协议》,转载必须注明作者和本文链接

Jason Yang

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值