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

356 篇文章 17 订阅
订阅专栏
Gooey是一个库,能方便地将Python2或3的控制台程序转化为GUI应用,只需一行代码。通过GooeyParser,参数可以被可视化为文本框、选择框等。用户输入的参数会被自动处理。文章还介绍了如何通过PyInstaller将GUI程序打包成可执行文件。
摘要由CSDN通过智能技术生成

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

如果你的网络不支持从GitHub克隆,请在Python实用宝典上回复:Gooey 下载项目源代码。

解压后进入该文件夹,运行 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 来确定如何捆绑项目。你可以在Python实用宝典后台回复 buildspec下载build.spec.txt.

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

如下所示:

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

2.执行打包命令

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

pip install pyinstaller

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

pyinstaller build.spec.txt

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

 

100天精通Python丨基础知识篇 —— 07、10个Python高级库总结
独木不成林,单弦不成音。
07-08 5万+
《C站最全Python标准库总结》,登顶了【全站综合热榜】和【python领域热榜】,获得了2362多次点赞、998次评论、2072次收藏,谢谢各位小伙伴。
基于PyQt5的图形界面程序设计 以冒泡排序为例 - Python多线程
海洋饼干叔叔
07-30 1500
本书同名免费MOOC《Python编程基础及应用》在哔哩哔哩(B站)热播,作者带着你学。 版权声明:本文内容引用自作者的图书《Python编程基础及应用》(高等教育出版社)。本文可以在互联网上转载传播,但必须包含文中的版权声明;本文不可以以纸质出版为目的进行摘抄或改编。 附录A.3. 实践 - 冒泡及轻者上浮 Python自带有标准GUI-图形用户界面工具包Tkinter。但Tkinter的功能相对比较简单,界面也不够漂亮,对于规模大一点的GUI应用略显不足。在当前的Python生态圈,如果读者需要一
python图形化界面设计gui_python 实现GUI(图形用户界面)编程详解
weixin_39732609的博客
11-20 2554
Python支持多种图形界面的第三方库,包括:wxWidgetsQtGTKTkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。wxPython...
python图形界面开发之tkinter-布局
梦回故里
03-28 977
布局 任何界面都有自己的布局风格,有些是横向布局,有些是纵向布局,有些是流水布局,还有些是网格布局,总之布局就是一种考虑如何放置元素或者组件的一种说明方式。 包裹(包装)布局 thinter中使用pack进行包裹布局。 widgets.pack(pack_options) 这个是函数原型,pack_options有三个常用属性,分别是expand ,fill,side这三个属性 expand 是...
一行Python代码实现图形界面的7种方法
最新发布
wenjie20070212的博客
08-19 510
今天,我们将探索如何仅用一行代码就能创建令人印象深刻的图形用户界面(GUI)。这不仅是一个快速上手的好方法,也是展现Python强大库的绝佳机会。别看代码少,背后的魔法可不小。让我们一起揭开这七种魔法的面纱,每一步都将结合实例,确保你轻松掌握。
python编程界面-python界面python可视化窗口编程
weixin_37988176的博客
10-29 1087
python2.6+wxpython=GUI图形界面例子:#!/usr/bin/python#-*-coding:UTF-8-*-importwxclassMyFrame(wx.Frame):def__init__(self):wx.Frame.__init__(self,None,-1,u"菜单",size=(300,200))p=wx.Panel(self)menuBar...
python界面-python 可视化界面
q6q6q的专栏
10-28 3513
在各类按钮组件里,默认的消息是 "Shall I continue?”,所以你可以不带任何参数地去调用它们。这里我们演示不带任何参数地去调用 ccbox(),当选择 "cancel” 或关闭窗口的时候返回一个布尔类型的值:if ccbox():pass #用户选择继续else:return #用户选择取消使用关键字参数调用EasyGUI的函数调用 EasyGU...
python图形界面设计代码_python 开发的图形界面软件有哪些
weixin_39890289的博客
11-23 78
展开全部我这里有一个记事32313133353236313431303231363533e78988e69d8331333365653932本界面软件代码# -*- coding: utf-8 -*-"""Created on Tue Jun 26 21:39:07 2018@author: Administrator"""from tkinter import *from tkinter.fil...
50行python代码写个计算器教程_python计算器代码怎么写
2401_84616399的博客
04-26 1291
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。推荐阅读 点击标题可跳转。来获取用输入的内容,
设计一个单选题考试程序python_Python123计算机等级考试二级Python语言与程序设计通关指南七Python 计算生态...
weixin_39826342的博客
10-21 3616
请注意看红色标识文字,图片均是超清图片,可以单击查看看见更大的世界,遇见更好的自己 See a better world to meet better for ourselves.1.MMdnn----MMdnn 是一个深度学习的模型工具集,它能够互转模型文件、可视化模型结构、自动产生训练/推演的代码、辅助测试模型兼容性等。2.Matplotlib----Matplotlib 是一个高质...
为什么说Jupyter Notebook是Python必学技术?一文带你吃透
qq_36807888的博客
12-10 3617
jupyter notebook是一个基于网页的交互式笔记本,支持多种编程语言。之前被称为 ipython notebook。 它的本质是一个web应用程序,便于演示和共享程序文档。支持实时编码、数学方程、可视化和markdown。可运行40+种编程语言。 要用途包括数据清理和转换、数值模拟、统计建模、机器学习等等。 安装 Jupyter Notebook 1.如果你安装了Anaconda,直接打开jupyter prompt。然后输入 jupyternotebook 这样.
python图形界面程序
07-01
这是一个用python写的获取网络图片的图形界面程序
python图形代码
12-30
python简单实现一个图形的绘制,可以自己设置图形的大小和尺寸
Python图形界面编程
qq_36148230的博客
04-25 5539
tkinter python(图形开发界面)   Tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
python可视化界面开发实例-python 图形化界面编程--Easygui
weixin_37988176的博客
10-30 3984
简介对于想学Python图形化编程的小伙伴来说,easygui是一个很好图形化入门编程模块!函数介绍ccbox()——双项选择cc表示continue 还是 cancel他返回的是1和0,但是不代表True和False,但是在if里面还是可以用1和0,另外,选项后面还可以加,自己随意。msgbox()——消息弹窗msgbox(msg=' ', title=' ', ok_button=' ', i...
python图形化界面-我的第一个python窗体_Python的图形化窗口编程(1)
weixin_39526741的博客
12-04 1089
python能做的东西太多,以致大多数人在学习的过程中出现了迷茫。但是,无论学习哪个方向,都比原地观望要好。我们今天学习python图形界面制作,python界面制作有很多。很多人吐槽python界面很丑,我们都还没有做出来。你也不是一直都想站在旁边看别人如何表演吧!再丑也是自己做出来的!努力吧。我们今天学习tkinter模块Tkinter模块("Tk 接口")是Python的标准Tk GU...
python可视化什么意思_python可视化实现代码
weixin_39929715的博客
11-23 143
python可视化#导入两个库import numpy as npimport matplotlib.pyplot as plt#第一个参数就是x轴的初始值#第二个参数是x轴的终止值#第三个返回num均匀分布的样本,也就是0-12的区间取多少个点,如果为曲线的最好数值大一点x = np.linspace(0, 12, 50)y = np.sin(x) #函数z = np.cos(x) # 函数pl...
Python代码使用PyQt5制作界面并封装
weixin_46713695的博客
02-28 2382
Python代码使用PyQt5制作界面并封装
python如何做图形化界面,python图形界面gui编程
热门推荐
Bxwfjdjdbdgj的博客
12-29 1万+
大家好,本文将围绕python编写图形化界面的工具展开说明,python如何做图形化界面是一个很多人都想弄明白的事情,想搞清楚python图形界面gui编程需要先了解以下几个事情。声明:本篇文章为转载自,在原作者的基础上添加目录导航,旨在帮助大家以更高效率进行学习和开发。
PyQt5 Qt Designer详细教程:从图形界面设计到转换为Python代码
"这篇文章要介绍了如何使用Python的GUI库PyQt5中的Qt Designer工具来创建图形界面,并将设计的.ui文件转换为可执行的.py文件。PyQt5是Qt库的Python版本,提供了丰富的功能,使得用Python进行GUI开发变得简单。文章...
写文章

热门文章

  • Windows 11 版本对比:家庭版、专业版、企业版、教育版、SE 版的区别 65494
  • Windows中的Pagefile.sys是什么?是否应该删除它? 42826
  • Windows 11 家庭版和专业版:启用 Hyper-V 虚拟化平台的步骤 40772
  • 解决Windows Defender安全中心打开空白的两种方案 36274
  • 解决新版 Microsoft Edge 浏览器网页翻译失败以及扩展插件无法下载问题 35139

分类专栏

  • 技术文章 356篇
  • 杂文笔记 217篇
  • 源码补丁 12篇

最新评论

  • sql的rand()随机数详解

    耶耶拿铁O.o: (rand() % (b-a))+ a //(结果值含a不含b) 取得[a,b)的随机整数。是不是把*乘,写错成%取余了?

  • 如何在 Windows 11/10 中启用 XPS 查看器?

    NUC_Canacan: WIN11的“可选功能”在“系统”中

  • 如何在 Windows 10 家庭版中启用 Windows 沙盒功能

    yanto_co: 我的情况是安装后重启一直蓝屏,如果你也遇到了这种情况,请打开安全模式进入系统,然后卸载掉沙盒表情包

  • 深入了解HTTP 500内部服务器错误的原因及解决方法

    数学人学python: 解决了,我遇到的问题是图片内存太大

  • bat转exe软件图文教程批处理bat转换为exedos脚本代码加密

    clay1_: 图标没法显示咋办

大家在看

  • 第二课:输入输出 72
  • 828华为云征文|华为云Flexus云服务器X实例之openEuler系统下部署OpenCart开源电子商务平台 424
  • 设计模式之代理
  • vue3 TagInput 实现
  • 一维数组和二维数组

最新文章

  • 一键快速重置密码帝国CMS快速重置管理员密码工具tool
  • 如何删除WIN10系统多余的启动项
  • 如何阻止您的网站免受 OpenAI 爬虫的抓取
2024年3篇
2023年608篇
2022年11篇
2021年2篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执刀人的工具库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

玻璃钢生产厂家玻璃钢雕塑头像女动漫温州玻璃钢人物雕塑定做定制玻璃钢雕塑代理价格杭州玻璃钢金属雕塑尺寸焦作公园玻璃钢彩绘雕塑上海开业商场美陈售价贵州动物玻璃钢雕塑供应商仿铜玻璃钢雕塑制作流程玻璃钢室外雕塑报价贵州玻璃钢雕塑仿真牛山东仿铜玻璃钢雕塑优势北京大型主题商场美陈厂家直销福建商业商场美陈市场报价商场美陈布置儿童廊坊玻璃钢人物雕塑价格商丘玻璃钢雕塑老厂家浙江省玻璃钢雕塑厂家汝阳玻璃钢雕塑费用景观小品玻璃钢雕塑铜陵商场户外美陈定西玻璃钢雕塑厂家大连公园玻璃钢雕塑厂家内江商场美陈花器吉林节日商场美陈阜阳公园玻璃钢雕塑优势福建现代玻璃钢卡通雕塑山东玻璃钢鹿雕塑惠州彩绘玻璃钢雕塑制作厂家湖州特色玻璃钢雕塑哪家便宜荆州广场玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化