tkinter 弹出窗口并且让上一个窗口无法操作_一个极简易上手的 Python GUI 库

本文介绍了一个简洁易用的Python GUI库PySimpleGUI,通过实例演示如何快速创建GUI应用,并提供了官方文档链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

PySimpleGui

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

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

c167e190e11af6eb79bca8616eb9e5b1.gif

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

设计思路

Step1 画出gui草图

b825f082ef398a72f5e26f22f6586665.png

Step2 将gui按行切分

c6f7418ccf1a27aefae132f4f7ba19f7.png

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

fa575b16a5c1d3318ccb5ffe7c527896.png

写代码

第一行只是文本提示作用,使用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)

运行效果

255bddbcd0f99866126b928d00859968.gif

下拉选项

169f3573ffe4e7eee01d6a6f7ddd148c.gif

滑动条

ac7b0066797a723d9899100959ccae90.gif

按钮

739d741b46d5338e2d80730c832fb969.gif

复选框

d216595a368a8d0de13a14ab0ad232d5.gif

OK/Cancel

1b01fcd96b5487392944c1c4c7128c75.gif

文件夹浏览

bfac3ebb00a775eaf145afd554c456dd.gif

文件浏览

f8f947bc14976381e03e345724400b35.gif

进度条

85a2bb6b1ac7ae394b342224cbfe7de9.gif

列的布局

9716101e7a451674a29708d37837370b.gif

附:PySimpleGui官方文档

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

作者:大邓

来源:大邓和他的Python


7bd117a11877f1628045dd97d0cbe1bc.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值