【你不知道的骚操作】一行代码将Python程序转换为图形界面应用

牛逼了!仅需一行代码将Python程序转换为图形界面应用 Gooey项目支持用一行代码将(几乎)任何Python 2或3控制台程序转换为GUI应用程序。 请选择以下任一种方式输入命令安装依赖: 1. Windows 环境 打开 Cmd (开始-运行-CMD)。 2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。 3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal. (方式一)安装Gooey的最简单方法是通过 PIP: pipinstallGooey ... 阅读详情

AI派在读学生小姐姐Beyonce

Java实战项目练习群

长按识别下方二维码,按需求添加

扫码添加Beyonce小姐姐

扫码关注

进Java学习大礼包

Gooey项目支持用一行代码将(几乎)任何Python 2或3控制台程序转换为GUI应用程序。

1.快速开始

请选择以下任一种方式输入命令安装依赖:
1. Windows 环境 打开 Cmd (开始-运行-CMD)。
2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

(方式一)安装Gooey的最简单方法是通过 PIP:

pip install Gooey

(方式二)或者,可以通过将项目克隆到本地目录来安装Gooey

git clone https://github.com/chriskiehl/Gooey.git

解压后进入该文件夹,运行 setup.py:

python setup.py install

2.使用方法

Gooey 通过将一个简单的装饰器附加到主函数上,然后使用GooeyParser可将你所有需要用到的参数可视化为文本框、选择框甚至是文件选择框。

比如在scihub文献下载的文章中,我们需要输入两个参数:1.关键词,2.下载篇数,使用Gooey可以这么改:

from gooey import Gooey, GooeyParser

@Gooey
def main():
    parser = GooeyParser(description="中文环境可用的scihub下载器 - @Python实用宝典") 
    parser.add_argument('path', help="下载路径", widget="DirChooser")
    parser.add_argument('keywords', help="关键词")
    parser.add_argument('limit', help="下载篇数")
    args = parser.parse_args()
    search(args.keywords, int(args.limit), args.path)

GooeyParser 和 ArgumentParser 一样,使用 add_argument 就可以增加输入参数,不同的是 GooeyParser 提供了可视化的选项:

parser.add_argument('path', help="下载路径", widget="DirChooser")

这一行代码,widget 参数给 args.path 变量提供了一个目录选择器(widget="DirChooser"),help参数用于提醒用户该选择器的作用,效果如下:



当你不提供widget参数时,程序默认使用文本输入框。

parser.add_argument('keywords', help="关键词")
parser.add_argument('limit', help="下载篇数")



Gooey会自动编排你的参数,因此你不需要担心各个文本框或选择框的显示问题。代码中的:

args = parser.parse_args()
search(args.keywords, int(args.limit), args.path)

args = parser.parse_args() 可以将用户输入的所有文本转化为对应对象的变量值,通过 args.var 可以直接提取对应的变量值。

这个简单的可视化程序完整代码及效果如下:

上滑查看更多代码

import asyncio
from scihub import SciHub
from gooey import Gooey, GooeyParser

def search(keywords: str, limit: int, path: str):
    """
    搜索相关论文并下载

    Args:
        keywords (str): 关键词
        limit (int): 篇数
        path (str): 下载路径
    """
    sh = SciHub()
    result = sh.search(keywords, limit=limit)
    print(result)

    loop = asyncio.get_event_loop()
    # 获取所有需要下载的scihub直链
    tasks = [sh.async_get_direct_url(paper["url"]) for paper in result.get("papers", [])]
    all_direct_urls = loop.run_until_complete(asyncio.gather(*tasks))
    print(all_direct_urls)

    # 下载所有论文
    loop.run_until_complete(sh.async_download(loop, all_direct_urls, path=path))
    loop.close()

@Gooey
def main():
    parser = GooeyParser(description="中文环境可用的scihub下载器 - @Python实用宝典") 
    parser.add_argument('path', help="下载路径", widget="DirChooser")
    parser.add_argument('keywords', help="关键词")
    parser.add_argument('limit', help="下载篇数")
    args = parser.parse_args()
    search(args.keywords, int(args.limit), args.path)

main()


这份代码想要完美地运行起来请结合 你不得不知道的python超级文献批量搜索下载工具 的 scihub.py.

你也完全可以使用自己的程序进行图形界面化,这无关紧要。

效果如下:

3.支持的widget组件

所有支持的widget组件如下:

1.勾选框 widget="CheckBox" 

2.下拉框 widget="DropDown"

3.互斥选择框 widget="RadioGroup"

4.各种目标类型的选择框

文件选择框 widget="FileChooser"
目录选择框 widget="DirChooser"
多文件选择框 widget="MultiFileChooser"
文件保存目录 widget="FileSaver"

5.日期/时间选择器 widget="DateChooser/TimeChooser"

6.密码输入框 wiget="PasswordField"

7.多选列表框 widget="Listbox"

8.颜色选择器 widget="ColourChooser"

9.可过滤的下拉框 widget="FilterableDropdown"

10.滑片 widget="Slider"

4.打包

在一切都测试完毕后使用正常后,你可以通过 pyinstaller 将这个可视化程序打包成exe可执行文件。

1.编写 PyInstaller buildspec

PyInstaller使用 buildspec 来确定如何捆绑项目。

下载后你只需要改两行代码:

如下所示:

在路径前面带r,可以不用输入两个斜杆 '\' 哦。

2.执行打包命令

为了能够使用 PyInstaller, 我们需要使用pip安装这个模块:

pip install pyinstaller

然后进入 build.spec.text 所在文件夹,执行以下命令打包程序:

pyinstaller build.spec.txt



打包完成后会在当前文件夹下生成一个dist文件夹,里面就包含了你打包生成的可执行文件,打包成功。

我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注AI派哦~

文末福利

各位猿们,还在为记不住API发愁吗,哈哈哈,最近发现了国外大师整理了一份Python代码速查表和Pycharm快捷键sheet,火爆国外,这里分享给大家。

这个是一份Python代码速查表

下面的宝藏图片是2张(windows && Mac)高清的PyCharm快捷键一览图

怎样获取呢?可以添加我们的AI派团队的Beyonce小姐姐

一定要备注【高清图】哦

????????????????????

➕我们的Beyonce小姐姐微信要记得备注【高清图】哦

来都来了,喜欢的话就请分享、点赞、在看三连再走吧~~~

一行代码将Python程序转换为图形界面应用 开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南进行安装。 阅读详情

相关推荐

REALTEK PKE8710ECF开发板入手试玩(一)

REALTEK PKE8710ECF开发板入手试玩

lbqhope的专栏 691

Python 图形化界面基础篇:将应用程序打包为可执行文件

在开发完一个图形用户界面( GUI )应用程序后,通常希望将它打包成一个可执行文件,以便用户能够轻松地运行应用程序,而不需要安装 Python 或其他依赖项。 PyInstaller 是一个常用的 Python 库,可以帮助我们实现这一目标。在本篇博客中,我们将学习如何使用 PyInstaller 将 Python GUI 应用程序打包为可执行文件。

小蓝枣的博客 3305

保姆级教程:用Python+OpenCV实现相移法与格雷码三维重建(从生成条纹到点云生成)

本文详细介绍了使用Python和OpenCV实现相移法与格雷码三维重建的全流程,从条纹生成到点云计算。通过结构光技术,结合相移法和格雷码,实现高精度的三维重建,适用于无纹理物体表面的密集对应点生成。教程包含环境搭建、条纹生成、相位计算、三维点云重建及常见问题排查,适合计算机视觉开发者和研究人员。

weixin_33443333的博客 351

怎么将c语言应用程序做成界面,用C语言编的图形界面应用程序

/*************wan nian li*****************************/setcolor(RED);settextstyle(0,0,4);for(j=15;j>=0;j-=2){delay(1000000);outtextxy(j+10,j+50,\"Wan\");}for(j=15;j>=0;j-=2){delay(1000000);outte...

weixin_30705125的博客 1045

word2vector入门教程

摘要: 网上已经有许多对w2v的介绍了,这里只是做一个简单的概括。下面这篇文章我认为是关于W2V写的比较好的文章,读者有兴趣可以先参考一下: w2v参考文章1 另外一篇是关于Skip-Gram和CBow的介绍。 Skip-Gram&CBOW 逻辑比较清晰的综述文章: 综述文章 数学原理很清晰很短的一篇文章(也有关于负采样的简单说明) 参考文章 1.什么

SCUT_Sam 1万+

Chapter 7 Linear Voltage Regulators

这一章我们介绍LDO.

2304_76736886的博客 2764

神奇!一行代码将Python程序转换为图形界面应用

Gooey项目支持用一行代码将(几乎)任何Python 2或3控制台程序转换为GUI应用程序。1.快速开始请选择以下任一种方式输入命令安装依赖:1. Windows 环境 打开 Cmd (...

cainiao_python的博客 3710

STM32Cube高效开发教程<高级篇><FreeRTOS>(一)-----FreeRTOS基础

一、 FreeRTOS概述声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。本专栏博客参考《STM32Cube高效开发教程(高级篇)》,有意向的读者可以购买正版书籍辅助学习,本书籍由王维波老师、鄢志丹老师、王钊老师倾力打造,书籍内容干货满满。写在前面:今天就算正式开始高级篇的博客编写了,我本人也是第一次学习FreeRTOS,所以整体的进度会比较慢,博客更新可能不太会及时,希望大家原谅。一、 FreeRTOS概述。

我的博客 1848

绝了,Gooey:一行代码将 Python 程序转换为图形界面应用

大家好,今天给大家分享一款非常棒的工具:Gooey,它支持用一行代码将任何Python 2或3控制台程序转换为GUI应用程序。效果如图所示,下面我来教大家如何使用。

Python数据挖掘 5015

让openclaw接入web端的deepseek或着qwen,使用无限token

🪟 Windows: 提供原生的 PowerShell 一键安装支持!配置过程和官方版本是相同的,唯一的区别就是再选则model时要选择带Browser字样的deepseek或者qwen。安装之前需要先清理官方版本的安装痕迹,否则openclaw版本跳转不到这个中文版本。因为此版本与官方版本存在代差,在配置飞书时可能会出现无法安装飞书的情况。剩下的配置保持和官方版本一致操作即可。选中之后需要进行一次网页端的登录。登录后会出现可选择的model。安装完成后会跳到这个中文界面。涉及到接入飞书机器人的操作。

z1872385的博客 302

华为OD新系统机试真题-文章特征提取

华为OD机试新系统真题 【文章特征提取】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统机试真题【文章特征提取】

qq_45776114的博客 729

一行代码将Python程序转换为图形界面应用 Python主必学

Gooey项目支持用一行代码将(几乎)任何Python 2或3控制台程序转换为GUI应用程序。1. Windows 环境 打开 Cmd (开始-运行-CMD)。2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.(方式二)或者,可以通过将项目克隆到本地目录来安装Gooey下载项目源代码。

winkexin的博客 503

38.XDMA寄存器详解2-H2C、C2H通道寄存器组剖析

目录 1.上节回顾 2. H2C寄存器剖析 2.1 H2C通道标识寄存器(0x00) 2.2 H2C通道控制寄存器(0x04) 2.3 H2C通道状态寄存器(0x40) 2.4 H2C通道完成描述符数量寄存器(0x48) 2.5 H2C通道对齐寄存器(0x4C) 2.6 H2C通道查询模式回写地址寄存器(0x88、0x8C) 2.7 H2C通道中断掩码寄存器(0x90)​ 2.8 H2C通道性能监视控制寄存器(0xC0) 2.9 H2C通道周期计数性能寄存器(0xC4、0xC8) 2

一个早起的程序员 5205

Gooey - 一行代码将Python控制台程序转换为GUI应用

一、关于 Gooey 1、项目概览 2、相关链接资源 二、安装配置 三、核心功能与使用 1、基础用法 2、高级配置 3、自定义控件 四、功能特性 五、界面组件映射 六、界面截图

AI工程化、开源分享、文档翻译、代码笔记 631

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Gooey完全指南:一行代码将Python命令行程序转换为GUI应用的终极教程

还在为复杂的命令行参数而苦恼吗?Gooey让您只需一行代码就能将任何Python命令行程序转变为美观的GUI应用程序!🎉 ## 什么是Gooey? Gooey是一个革命性的Python库,它通过简单的装饰器语法,自动将基于argparse的命令行工具转换为完整的图形用户界面。无论您是开发办公室自动化脚本、数据处理工具,还是任何需要用户友好界面的程序,Gooey都是您的完美选择。 [![Go

gitblog_01015的博客 837

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Gooey终极指南:一行代码将Python命令行程序转换为专业GUI应用

你是否曾经为Python命令行程序的用户体验发愁?是否希望为你的脚本添加一个直观的图形界面,但又不想花费大量时间学习复杂的GUI框架?Gooey正是解决这一痛点的终极工具,它能让你仅用一行代码就将几乎任何Python命令行程序转换为功能完善的GUI应用。 ## 什么是Gooey? Gooey是一个强大的Python库,它的核心功能是将控制台应用程序转换为用户友好的GUI应用程序。这意味着你可以

gitblog_00818的博客 479

efm32 入门.pdf

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

210811_152958-Gooey实战 | 几行代码转换Python程序为图形界面应用!

Gooey实战 | 几行代码转换Python程序为图形界面应用! 1.概述 今天发现公众号的一个作者大大用Python写了个小工具, 发现还挺好玩, 而且代码已经分享给大家了。在文章末尾提到还没有为这段代码制作一个可视化界面。同时,我还希望大家可以将程序打包,到时候直接发给其他人,就可以直接使用了。 如果有哪位朋友,愿意开发自己的一个小工具,可以拿着这段代码去修改。哈哈, 我就喜欢改别人的代码, 而且还有赠书活动, 于是, 话不多说, 直接开干! 我要用到一个第三方包可以一行代码将Python程序转换为图形

KEEP的博客 2137

告别命令行:Gooey如何用一行代码将Python脚本变身为专业GUI应用

你是否曾为Python命令行工具的用户体验发愁?是否希望将脚本分享给非技术同事时不再需要解释复杂参数?Gooey框架正是为解决这些痛点而生——只需一行代码,即可将 argparse 定义的命令行程序转换为功能完备的图形界面应用。本文将深入解析这一"魔法转换"的实现原理,展示从参数定义到界面渲染的完整流程。 ## 架构总览:从解析器到界面的桥梁 Gooey的核心魅力在于其精巧的三层架构设计,实现...

gitblog_00140的博客 693

Gooey:将Python命令行程序转化为图形界面的神器

![Gooey Logo](https://github.com/chriskiehl/GooeyImages/raw/images/readme-images/1-0-4-title-card.png) 如果你在寻找一种简单的方法,将你的Python 3命令行程序转变为用户友好的GUI应用,那么Gooey就是你的不二之选。只需一行代码,就可以让你的程序焕然一新。 ## 项目简介 Gooey...

gitblog_00087的博客 746

Gooey: 将命令行程序转换为GUI应用的神器

Gooey: 将命令行程序转换为GUI应用的神器 项目介绍 Gooey是一个强大的Python库,它允许开发者通过仅仅一个装饰器便能把几乎任何基于命令行的程序转变成具备完整图形界面的应用。由Chris Kiehl开发并维护在GitHub,这个工具极大地简化了CLI到GUI的转化过程,无需深入学习复杂的界面设计知识。Gooey自动根据你的argparse参数生成友好的图形界面,使得终端程序对非技术人...

gitblog_00655的博客 645

Python自动化整理文件,还增加了可视化GUI界面

有时候,我们写了一些简单、有用的小代码。

自动化软件测试 1457

python怎么把程序打包成exe,python程序如何打包成exe

如果想使用 Python 语言编写图形界面程序,那么有不少的框架可以提供支持,比如 Tkinter、Qt for Python、WxPython等等。不过 这些框架都是只能创建桌面图形界面程序,比如 Windows、Linux 和 macOSpython自动化运维方案。如果我们想要创建 IOS 或 Android 等平台的移动应用APP,它们就无能为力了。那么 Python 能不能写移动应用APP呢?实际上是可以的。

Bxwfjdjdbdgj的博客 917
上一篇: Github Star 8.4K,超级好用的OCR数据合成与半自动标注工具,强烈推荐!
下一篇: “离婚”华为后,荣耀第一胎满身伤痕
Wang_AI
博客等级 码龄12年 991粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值