为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Python 3 和 Tkinter 制作 GUI 文件下载器

使用 Python 3 和 Tkinter 制作 GUI 文件下载器

交互式爱情 2021-06-07 21:48:31
(如果这对任何人都很重要,我正在使用 python 3.6.6)我正在为当前处于私有 alpha 并且不断更新的游戏制作 GUI 安装程序。我已经制作了一个控制台版本:from tqdm import tqdmimport requests, os, sys, zipfile, shutil, subprocesschunk_size = 1024url = "{LINK TO FILE YOU WANT TO DOWNLOAD}"r = requests.get(url, stream = True)total_size = int(r.headers['content-length'])print("Are you sure you want to download the newest version of RFMP?")print("y/n", end=': ')answer = input()while True:    if answer == 'y':        if os.path.exists("RFMB6_WINDOWS"):            print('')            print('')            print('Removing old RFMP files...')            subprocess.check_call(('attrib -R ' + 'RFMB6_WINDOWS' + '\\* /S').split())            shutil.rmtree('RFMB6_WINDOWS')            print('')            print('Removed old files.')            break        else:            break    elif answer == 'n':         sys.exit()    else:         print("That is not a valid answer, please answer with y/n.")         answer = input()print('')print('')print('Downloading:')with open('RFMB6_WINDOWS.zip', 'wb') as f:    for data in tqdm(iterable = r.iter_content(chunk_size = chunk_size), total = total_size/chunk_size, unit = 'KB'):             f.write(data)print('')print("Download Complete.")print('')print('')print("Would you like to extract it?")print("y/n", end=': ')answer2 = input()我只会使用它来下载 1 个特定链接,因此请忽略 url 变量。当我单击一个显示“下载”的按钮时,我正在尝试制作一个执行相同操作的 GUI。我想制作一个进度条和一个文本框,告诉您正在发生的事情,例如下载、提取等。我不需要目录选项。我只需要它下载文件所在的位置并删除旧文件(如果它仍然存在)。所以这是我的问题:我如何学习如何做到这一点?我查看了 tkinter 教程和其他问题,但我只找到了 python 2 的东西或开发用来修改和调用我自己的工作的东西。我正在寻找的是可以告诉我如何创建这样的东西的链接和/或示例。在此先感谢任何帮助我的人。PS 在编码方面我是个菜鸟,所以无论你解释什么,请彻底完成。PSS 为了运行控制台应用程序,您需要通过终端运行它并在“url”变量中添加您自己的链接。
查看完整描述

2 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

看看PySimpleGUI。您可以轻松构建带有下载按钮、输出窗口和进度条的布局。如果遇到麻烦,请访问 GitHub 并发布问题。


查看完整回答
反对 回复 2021-06-16
  • 2 回答
  • 0 关注
  • 326 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信