写在前面:本文为笔者最早于 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文件相关推荐

  1. python文件图标变成小电脑_手把手教你给Python程序写图形界面,并且打包成exe文件-exe文件...

    环境配置 官网下载Python3,LZ的配置环境是Python3.6,PyCharm 2017.2.1pip3 install PyQt5 #下载PyQt5 pip install PyQt5-too ...

  2. python tkinter库、添加gui界面_使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)...

    使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二),创建一个,界面,布局,文件,路径 使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二) ...

  3. 如何将写好的python程序打包成exe文件

    首先创建一个文件夹 然后打开cmd 然后cd到你创建的文件夹的目录 然后把你的py项目放到这个文件夹里面 然后再cmd里面写这行代码pyinstaller -F 你的文件名字(后缀名字是.py) 然后 ...

  4. Python如何将写好的代码打包成exe文件

    第一步 下载pyinstaller pyinstaller插件是Python自带的插件,用于为我们写好的代码进行打包,最终自动合成.exe文件. 在Pycharm界面的最下面,你可以看到Termina ...

  5. 写好的pygame游戏打包成exe文件

    文章目录 一.首先需要在控制台安装pyinstaller. 二.进入程序所在目录. 三.用installer来打包所有的py文件 四.在文件中找到应用程序文件,即exe文件.这就是可以运行的游戏文件. ...

  6. 【Python】教你写一个一键上传git的脚本(打包成exe)

    本篇博客来教你用Python写一个简单的git自动上传脚本 前言 为什么需要一个这样的东西? 有的时候,我的学习代码其实没啥好commit的,写一个自动上传的脚本,就可以自动执行完所有的命令,而不需要 ...

  7. python tkinter界面 多进程启动scrapy爬取百度贴吧的回复,显示爬取进度,并可以搜索回帖人,指定时间生成词云图,用pyinstaller打包成exe(七)

    爬取单个帖子one_tiezi_spider.py ''' 这个是爬取 单个帖子的爬虫 大概思路:          1.进入该帖子的第1页,获取帖子的初始信息(标题.发帖人.tid.总页数)等    ...

  8. 把java打包成exe文件(提供软件下载)

    以前觉得用java做桌面应用总觉得要比其他东西做的要矮那么一截,人家做完之后拿出一个exe安装包,这才是桌面应用.你瞧java差一点的要在控制台 下运行,好一点也只能以jar文件的形式下运行,图标也不 ...

  9. 【Python】如何将写好的Python代码打包成exe文件?

最新文章

  1. 解密为什么八成IT人士愿意跳槽?
  2. Mysql data type
  3. JavaScript字符串转数字的5种方法及其陷阱
  4. python——变量的定义、命名
  5. 在tomcat中部署mule项目
  6. 云服务器,价格其实不便宜,但为什么还要用呢
  7. 浙江省2018年高等数学竞赛工科类试题
  8. 华为云FusionInsight助力宇宙行打造金融数据湖新标杆
  9. python 基础 5 while循环语句
  10. JAVA加载一个目录下有依赖关系本地库的通用代码
  11. 计算机专业老师水平,计算机评价老师的评语
  12. pycharm新建python的快捷键_Pycharm超级好用的快捷键
  13. 【MySQL学习】3、MySQL视图
  14. 全面揭露网络交易出现的十大欺诈骗术
  15. 知乎App加密流量分析初探
  16. QPainter、QPen、QBrush,绘图、填充、渐变等使用方法
  17. API和SDK是什么?有什么区别?如何测试SDK?一篇文章统统告诉你!
  18. 银河麒麟+FT2000源码安装Qt
  19. piu.tw login.php,2020NPUCTF公开赛 WEB部分Writeup
  20. csr_matrix矩阵压缩

热门文章

  1. 视频处理——添加滤镜效果
  2. 新零售是什么?新零售电商平台如何选择?
  3. 英语四级作文计算机,英语四级作文范文:电脑
  4. Matlab中kmeans函数用法
  5. pdf,ppt及各文件预览
  6. 监听当点击微信等app的返回按钮或者浏览器的上一页或后退按钮的事件
  7. 师兄帮帮忙 UVa12412 一个简单的成绩查询问题
  8. 做最好的日期控件,My97 DatePicker 4.8 Beta4
  9. 参加国际学术会议经验总结
  10. 选择好用的线上甘特图制作工具