用tkinter写出you-get下载器界面,并用pyinstaller打包成exe文件
写在前面:本文为笔者最早于 2019-05-11 23:15 以“@拼命三郎”的身份发表于博客园
本文为原创文章,转载请标明出处
一、you-get介绍
you-get是一个基于 python3
的下载工具,使用 you-get 可以很轻松的下载到网络上的视频、图片及音乐。目前支持网易云音乐、AB 站、百度贴吧、斗鱼、熊猫、爱奇艺、凤凰视频、酷狗音乐、乐视、荔枝FM、秒拍、腾讯视频、优酷土豆、央视网、芒果TV 等以下80多个站点。
安装方法:
pip install you-get
二、tkinter介绍
tkinter
是python的标准GUI库,是Tk Interface的缩写。python提供了tkinter包,里面含有Tkinter接口。
三、pyinstaller介绍
pyinstaller
是一个能将py文件转换成单个可执行文件的程序,操作系统支持Windows, Linux, Mac OS X, Solaris和AIX。并且很多包都支持开箱即用,不依赖环境。
安装方法:
pip install pyinstaller
四、代码及注释分析
from tkinter import *
from tkinter import filedialog
from tkinter.scrolledtext import ScrolledText
import subprocess as sub
import threadingtop = Tk()
top.title("You-get视频下载器,made by @拼命三郎")#获取屏幕尺寸以计算布局参数,使窗口居屏幕中央,其中width和height为界面宽和高
width=555
height=519
screenwidth = top.winfo_screenwidth()
screenheight = top.winfo_screenheight()
alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth-width)/2, (screenheight-height)/2)
top.geometry(alignstr)#阻止窗口调整大小
top.resizable(0,0)
#设置窗口图标
top.iconbitmap('F:\Python\GUI界面\You-get - v0 -20190507\play_24px_1099805_easyicon.net.ico')#框架布局
frame_root=Frame(top)
frame_left=Frame(frame_root)
frame_right=Frame(frame_root)frame_left.pack(side=LEFT)
frame_right.pack(side=RIGHT,anchor=N)
frame_root.pack()#输入视频链接
tip1= Label(frame_left, text='请输入视频链接: ',font = ('楷体',25))
tip1.pack(padx=10,anchor=W)
#视频链接输入框
input_url= Entry(frame_left,bg='#F7F3EC')
input_url.pack(ipadx=159,ipady=8,padx=20,anchor=W)
#请选择保存位置
tip2=Label(frame_left, text='请选择保存位置: ',font = ('楷体',25))
tip2.pack(padx=10,anchor=W)
#保存地址输入框
input_save_address= Entry(frame_left,bg='#F7F3EC')
input_save_address.pack(ipadx=159,ipady=8,padx=20,anchor=W)#浏览本地文件夹,选择保存位置
def browse_folder():#浏览选择本地文件夹save_address = filedialog.askdirectory()#把获得路径,插入保存地址输入框(即插入input_save_address输入框)input_save_address.insert(0,save_address)#下载函数
def download():#从输入框获取视频链接url=input_url.get()# 从输入框获取保存地址save_address=input_save_address.get()cmd = f'you-get -o {save_address} {url}'print(cmd)#将cmd结果重定向到tkinterGUI,即将命令行的结果显示ScrolledText(滚动文本框)控件里p = sub.Popen(cmd, stdout=sub.PIPE, stderr=sub.PIPE)output, errors = p.communicate()output = output.decode('UTF-8')stext.insert(END, output)#使滚动文本框的滚动条始终保持在最底段stext.yview_moveto(1)#为避免在下载时tkinter界面卡死,创建线程函数
def thread_it(func, *args):# 创建t = threading.Thread(target=func, args=args)# 守护 !!!t.setDaemon(True)# 启动t.start()# “浏览文件夹”按钮
browse_folder_button = Button(frame_right, text='浏览',font = ('楷体',15),command=lambda :thread_it(browse_folder))
browse_folder_button.pack(pady=110,side=LEFT,anchor=W)
#新建空白标签,无实际作用,内容为空,为了让界面对称,更美观,可理解为“占位符”
Label(frame_right,text=' ').pack(pady=110,side=LEFT,anchor=W)# “下载”按钮
download_button = Button(frame_left, text='下载',font = ('楷体',15),command=lambda :thread_it(download))
download_button.pack( padx=20,pady=6,anchor=W)# ScrolledText组件(滚动文本框)
stext = ScrolledText(frame_left, width=60, height=23, background='#F7F3EC')
stext.pack(padx=20,anchor=W)top.mainloop()
注意:
这里的ico要换成你自己本地的,如果不换,它就会报错说找不到文件。
如果你电脑里没有ico,可以到这里下载 https://www.easyicon.net/1099832-python_icon.html
五、运行实例截图
下载完成后,即会在你选择的路径产生视频。
六、用pyinstaller打包成exe
打包前先准备好自己的logo
到py文件所在路径按住shift键,点击鼠标右键选择“在此处打开Powershell 窗口(s)”
输入以下命令即可生成exe文件
pyinstaller -F -w -i play_96px_1099805_easyicon.net.ico Make_the_downloader_with_you-get_v1.py
执行成功后,会在路径下多出以下几个文件夹和文件
其中exe文件就在dist目录里,打开即可运行。
如果你看到这样的界面,那么说明你大功告成了……
如果你觉得我的分享还可以请点击推荐,分享给你的朋友让我们一起进步~
用tkinter写出you-get下载器界面,并用pyinstaller打包成exe文件相关推荐
- python文件图标变成小电脑_手把手教你给Python程序写图形界面,并且打包成exe文件-exe文件...
环境配置 官网下载Python3,LZ的配置环境是Python3.6,PyCharm 2017.2.1pip3 install PyQt5 #下载PyQt5 pip install PyQt5-too ...
- python tkinter库、添加gui界面_使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)...
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二),创建一个,界面,布局,文件,路径 使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二) ...
- 如何将写好的python程序打包成exe文件
首先创建一个文件夹 然后打开cmd 然后cd到你创建的文件夹的目录 然后把你的py项目放到这个文件夹里面 然后再cmd里面写这行代码pyinstaller -F 你的文件名字(后缀名字是.py) 然后 ...
- Python如何将写好的代码打包成exe文件
第一步 下载pyinstaller pyinstaller插件是Python自带的插件,用于为我们写好的代码进行打包,最终自动合成.exe文件. 在Pycharm界面的最下面,你可以看到Termina ...
- 写好的pygame游戏打包成exe文件
文章目录 一.首先需要在控制台安装pyinstaller. 二.进入程序所在目录. 三.用installer来打包所有的py文件 四.在文件中找到应用程序文件,即exe文件.这就是可以运行的游戏文件. ...
- 【Python】教你写一个一键上传git的脚本(打包成exe)
本篇博客来教你用Python写一个简单的git自动上传脚本 前言 为什么需要一个这样的东西? 有的时候,我的学习代码其实没啥好commit的,写一个自动上传的脚本,就可以自动执行完所有的命令,而不需要 ...
- python tkinter界面 多进程启动scrapy爬取百度贴吧的回复,显示爬取进度,并可以搜索回帖人,指定时间生成词云图,用pyinstaller打包成exe(七)
爬取单个帖子one_tiezi_spider.py ''' 这个是爬取 单个帖子的爬虫 大概思路: 1.进入该帖子的第1页,获取帖子的初始信息(标题.发帖人.tid.总页数)等 ...
- 把java打包成exe文件(提供软件下载)
以前觉得用java做桌面应用总觉得要比其他东西做的要矮那么一截,人家做完之后拿出一个exe安装包,这才是桌面应用.你瞧java差一点的要在控制台 下运行,好一点也只能以jar文件的形式下运行,图标也不 ...
- 【Python】如何将写好的Python代码打包成exe文件?
最新文章
- 解密为什么八成IT人士愿意跳槽?
- Mysql data type
- JavaScript字符串转数字的5种方法及其陷阱
- python——变量的定义、命名
- 在tomcat中部署mule项目
- 云服务器,价格其实不便宜,但为什么还要用呢
- 浙江省2018年高等数学竞赛工科类试题
- 华为云FusionInsight助力宇宙行打造金融数据湖新标杆
- python 基础 5 while循环语句
- JAVA加载一个目录下有依赖关系本地库的通用代码
- 计算机专业老师水平,计算机评价老师的评语
- pycharm新建python的快捷键_Pycharm超级好用的快捷键
- 【MySQL学习】3、MySQL视图
- 全面揭露网络交易出现的十大欺诈骗术
- 知乎App加密流量分析初探
- QPainter、QPen、QBrush,绘图、填充、渐变等使用方法
- API和SDK是什么?有什么区别?如何测试SDK?一篇文章统统告诉你!
- 银河麒麟+FT2000源码安装Qt
- piu.tw login.php,2020NPUCTF公开赛 WEB部分Writeup
- csr_matrix矩阵压缩