python使用tkinter添加下载进度UI

  1. 添加进度组件

    python 复制代码
    def 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}")
  2. 创建进度更新方法

    python 复制代码
    def update_progress(progress):
                    progress_bar['value'] = progress
                    progress_window.update_idletasks()
  3. 调用下载方法,传入进度更新方法

    python 复制代码
    ls_setoption.get_dump_video(video_dir, progress_callback=update_progress)
    
    progress_window.destroy()
  4. 使用子线程调用下载方法,注意用子线程,否则下载过程UI会卡死,进度不更新

    python 复制代码
        download_thread = threading.Thread(target=download)
        download_thread.start()
相关推荐
2501_945423543 分钟前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
m0_621438524 分钟前
用Python实现自动化的Web测试(Selenium)
jvm·数据库·python
2301_8042154112 分钟前
Python多线程与多进程:如何选择?(GIL全局解释器锁详解)
jvm·数据库·python
大鹏说大话19 分钟前
Java 并发基石:CAS 原理深度解析与 ABA 问题终极解决方案
开发语言·python
2301_7938046919 分钟前
Python单元测试(unittest)实战指南
jvm·数据库·python
甜辣uu20 分钟前
城市车辆和行人目标检测系统
python
进击的雷神24 分钟前
分页参数推导、嵌套数据提取、多语言地址判断、去重插入检查——韩国Koplas展爬虫四大技术难关攻克纪实
爬虫·python
☆56629 分钟前
机器学习与人工智能
jvm·数据库·python
bjxiaxueliang34 分钟前
一文掌握Python aiohttp:异步Web开发从入门到部署
开发语言·前端·python
belldeep40 分钟前
python:Scapy 网络数据包操作库
网络·python·抓包·scapy