省时省力,这大概是用Python写GUI最快的方式了

省时省力,这大概是用Python写GUIzui快的方式了? 阅读详情

GUI 实例

PySimpleGUI 在GitHub上的地址是:

<span style="color:#444444"><span style="background-color:#f6f6f6"><span style="color:#333333"><strong>https</strong></span>:<span style="color:#888888">//github.com/PySimpleGUI/PySimpleGUI</span>
</span></span>

大家可以访问看看,其首页是这样的:

有很多内容是不是?

这里面有一个重要的内容,在 DemoPrograms 文件夹下,这个文件夹是作者写的一些 demo 实例。作者真的是深谙我们这些懒虫的心理,即使有了这么简单好用的 GUI 框架,到了要写实例的时候,我们也可能会去网络上搜索实例,然后采用 。框架作者可能料想到这一点,所以他自己写了很多不同的实例,让你真正的拿来即用。CV大法

这个文件夹下大概有300多个实例,基本上可以囊括我们平时使用 python 写 GUI 所能遇到的各种组件和布局了。

CV 几个看看

有了这个神器,我们只需要把这个 GitHub 上的项目给复制到本地,然后将这些实例运行一遍,大致知道每个实例u哪些内容。后续当我们自己要写 GUI 时,我们只需要找到对应的实例,然后复制代码就可以了。是不是很简单?

下面我来运行几个 demo ,给大家展示一下这里面的实例都是什么样子的。

聊天界面

我们先复制一下源码:

<span style="color:#444444"><span style="background-color:#f6f6f6"><code>#!/usr/bin/env python
<strong>import</strong> PySimpleGUI <strong><span style="color:#333333"><strong>as</strong></span></strong> sg

<span style="color:#880000">''</span><span style="color:#880000">'</span>
<span style="color:#880000">A chatbot with history</span>
<span style="color:#880000">Scroll up and down through prior commands using the arrow keys</span>
<span style="color:#880000">Special keyboard keys:</span>
<span style="color:#880000">    Up arrow - scroll up in commands</span>
<span style="color:#880000">    Down arrow - scroll down in commands</span>
<span style="color:#880000">    Escape - clear current command</span>
<span style="color:#880000">    Control C - exit form</span>
<span style="color:#880000">'</span><span style="color:#880000">''</span>


<strong>def</strong> <strong>ChatBotWithHistory</strong>():
    # -------  Make <span style="color:#333333"><strong>a</strong></span> <span style="color:#333333"><strong>new</strong></span> Window  ------- #
    # give our form <span style="color:#333333"><strong>a</strong></span> spiffy <span style="color:#333333"><strong>set</strong></span> of colors
    sg.theme(<span style="color:#880000">'GreenTan'</span>)

    layout = [[sg.Text(<span style="color:#880000">'Your output will go here'</span>, size=(<span style="color:#880000">40</span>, <span style="color:#880000">1</span>))],
              [sg.Output(size=(<span style="color:#880000">127</span>, <span style="color:#880000">30</span>), font=(<span style="color:#880000">'Helvetica 10'</span>))],
              [sg.Text(<span style="color:#880000">'Command History'</span>),
               sg.Text(<span style="color:#880000">''</span>, size=(<span style="color:#880000">20</span>, <span style="color:#880000">3</span>), key=<span style="color:#880000">'history'</span>)],
              [sg.ML(size=(<span style="color:#880000">85</span>, <span style="color:#880000">5</span>), enter_submits=<strong>True</strong>, key=<span style="color:#880000">'query'</span>, do_not_clear=<strong>False</strong>),
               sg.Button(<span style="color:#880000">'SEND'</span>, button_color=(sg.YELLOWS[<span style="color:#880000">0</span>], sg.BLUES[<span style="color:#880000">0</span>]), bind_return_key=<strong>True</strong>),
               sg.Button(<span style="color:#880000">'EXIT'</span>, button_color=(sg.YELLOWS[<span style="color:#880000">0</span>], sg.GREENS[<span style="color:#880000">0</span>]))]]

    window = sg.Window(<span style="color:#880000">'Chat window with history'</span>, layout,
                       default_element_size=(<span style="color:#880000">30</span>, <span style="color:#880000">2</span>),
                       font=(<span style="color:#880000">'Helvetica'</span>, <span style="color:#880000">' 13'</span>),
                       default_button_element_size=(<span style="color:#880000">8</span>, <span style="color:#880000">2</span>),
                       return_keyboard_events=<strong>True</strong>)

    # ---===--- Loop taking in user <span style="color:#397300">input</span> <span style="color:#397300">and</span> using it  --- #
    command_history = []
    history_offset = <span style="color:#880000">0</span>

    <strong><span style="color:#333333"><strong>while</strong></span></strong> <strong>True</strong>:
        event, value = window.<span style="color:#333333"><strong>read</strong></span>()

        <strong><span style="color:#333333"><strong>if</strong></span></strong> event == <sp
python使用PySimpleGUI快速搭建简易的界面 看了大神的文章,自己修改修改,选择有用的留下: 使用手册(官方手册):https://pysimplegui.readthedocs.io/en/latest/cookbook/ 参考文件:https://linux.cn/article-10027-1.html 在window10下面要制作一个简单的小程序,需要一个输入,显示,以及按钮,看了菜鸟编程以及网络上的的一些资料,果断舍弃Tkinter... 阅读详情

相关推荐

第一个PySimpleGUI界面

PySimpleGUI

yxhjack的专栏 640

Python之GUI编程

一、常用的GUI库 Tkinter:tkinter(Tk interface)是Python的标准GUI库,支持跨平台的GUI程序开发,tkinter适合小型的GUI程序编写,也特别适合初学者学习GUI编程。 wxPython:wxPython是比较流行的GUI库,适合大型应用程序开发,功能强宇tkinter,整体设计框架类似于MFC(Microsoft Foundation Classes 微软基础类库) PyQT:Qt是一种开源的GUI库,适合大型GUI程序开发,PyQT是Qt工具包标准的Pyt.

qq_60381063的博客 2万+

使用pytorch构建LSTM_AE模型的两种方式

2.基本LSTM_Unit计算——基本LSTM_AE结构 3.自定义LSTM_Unit计算——自定义LSTM_AE结构 1.LSTM-Encoder-Decoder模型结构及简要解析 图基本lstm计算单元

qq_37840762的博客 7273

SimpleFOC STM32实战:基于F103与HAL库,剖析速度环与电流环的协同控制

本文详细介绍了基于STM32F103与HAL库的SimpleFOC实战应用,重点剖析速度闭环控制与电流环的协同工作原理。通过开发环境搭建、参数调试技巧及性能优化方案,帮助开发者高效实现无刷电机精准控制,适用于机器人、无人机等高精度应用场景。

weixin_29170327的博客 475

Cadence Virtuoso IC617:从零构建传输门与反相器的Schematic设计实战

本文详细介绍了使用Cadence Virtuoso IC617进行传输门与反相器Schematic设计的完整流程,包括环境准备、原理图绘制、Symbol创建、仿真验证及实用技巧。通过分步指导和实战经验分享,帮助初学者快速掌握集成电路设计基础,提升EDA工具应用能力。

weixin_29194693的博客 596

RS485信号测量避坑指南:示波器抓包常见问题与波形分析技巧

本文详细解析了RS485信号测量中的常见问题与解决方案,包括差分信号测量基础、终端电阻配置、共模干扰处理等关键技巧。通过实测波形案例和优化建议,帮助工程师有效提升RS485通信的可靠性和抗干扰能力,适用于工业自动化、远程监测等场景。

kappa的博客 614

PCB布局规范及其注意事项(纯干货)

这样做的好处是信号1,3层不会有串扰,4和5作为电源有紧密的耦合,3个信号层都有GND平面可以参考,且不会互相产生串扰,唯一的缺点是布线的层面只有3个信号层(信号03的是最适合来传输高速信号,因为该层的二面都有屏蔽,防止干扰传出,也防止干扰传入)33、影响阻抗匹配的参数(ER介电常数(1GHZ以下默认为4.2,以上的话问板厂),H介质厚度(就是内层压合的PP片厚度),W走线的线宽,T走线的厚度(铜厚/减小线的厚度可以增大阻抗))我这里使用的是CITS25来计算阻抗。

qq_42379138的博客 8839

【Unity3D】关于unity中spriteAtlas的打包方案及使用时内存状态的多组对照实验

unity项目中使用精灵(Sprite)为了降低性能消耗,我们可以使用精灵图集(Sprite Atlas)技术,它能够将多个纹理合并成一个大纹理

云渊寒烬 5100

【软考中级网络工程师】知识点之 IP QoS 技术

本文围绕软考中级网络工程师必备的 IP QoS 技术展开,系统阐述其核心知识。首先解析 IP QoS 的定义、重要性及应用场景,揭示其在视频会议、在线游戏等场景的关键作用;接着深入讲解技术原理,包括流量分类与标记、整形与限速、拥塞管理及 RSVP 协议;随后对比尽力而为、IntServ、DiffServ 三种服务模型的特点;还介绍了配置实践与案例分析,探讨其与 SDN、5G 等技术的融合趋势。旨在帮助读者全面掌握 IP QoS 技术要点,为网络规划与优化提供理论与实践指导。

邓邓子的博客 1086

【网络教程】Ubuntu有线连接消失,无法联网怎么办!(亲测有效!)

文章目录问题描述解决方案 问题描述 今天打开Ubuntu,突然发现无法连接网络,并且打开设置,发现设置里面的网络已经没有了有线连接,只有VPN设置选项,如图 解决方案 按照下列的代码执行即可! # 关闭网路 service NetworkManager stop # 删除NetworkManager缓存文件 sudo rm /var/lib/NetworkManager/NetworkManager.state # 打开网络 service NetworkManager start 运行完

XiaoqiangClub的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: 达摩院公布:2022十大科技趋势发布,我一个都看不懂
下一篇: 使用 Python 自定义 APISIX 插件
Python_xiaowu
博客等级 码龄5年 3096粉丝 178原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值