-
添加进度组件
pythondef download(): # 创建下载进度框 progress_window = tk.Toplevel() progress_window.title("下载进度") progress_label = tk.Label(progress_window, text="正在下载视频文件...") progress_label.pack(pady=10) progress_bar = ttk.Progressbar(progress_window, orient="horizontal", length=300, mode="determinate") progress_bar.pack(pady=10) # 获取窗口宽高并居中显示 progress_window.update_idletasks() window_width = progress_window.winfo_width() window_height = progress_window.winfo_height() screen_width = progress_window.winfo_screenwidth() screen_height = progress_window.winfo_screenheight() x = (screen_width - window_width) // 2 y = (screen_height - window_height) // 2 progress_window.geometry(f"{window_width}x{window_height}+{x}+{y}") -
创建进度更新方法
pythondef update_progress(progress): progress_bar['value'] = progress progress_window.update_idletasks() -
调用下载方法,传入进度更新方法
pythonls_setoption.get_dump_video(video_dir, progress_callback=update_progress) progress_window.destroy() -
使用子线程调用下载方法,注意用子线程,否则下载过程UI会卡死,进度不更新
pythondownload_thread = threading.Thread(target=download) download_thread.start()
python使用tkinter添加下载进度UI
ChatGPT攻城狮2024-07-10 7:03
相关推荐
会员源码网5 小时前
Python中生成器函数与普通函数的区别Java水解6 小时前
Python开发从入门到精通:Web框架Django实战曲幽7 小时前
FastAPI + PostgreSQL 实战:给应用装上“缓存”和“日志”翅膀Lupino10 小时前
别再只聊 AI 写代码了:技术负责人要把“变更治理”提到第一优先级Flittly12 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(6)Context Compact (上下文压缩)曲幽1 天前
FastAPI + PostgreSQL 实战:从入门到不踩坑,一次讲透用户8356290780511 天前
使用 C# 在 Excel 中创建数据透视表码路飞1 天前
FastMCP 实战:一个 .py 文件,给 Claude Code 装上 3 个超实用工具dev派1 天前
AI Agent 系统中的常用 Workflow 模式(2) Evaluator-Optimizer模式前端付豪1 天前
AI 数学辅导老师项目构想和初始化