python使用tkinter添加下载进度UI

  1. 添加进度组件
    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. 创建进度更新方法
     

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

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

        download_thread = threading.Thread(target=download)
        download_thread.start()

相关推荐

  1. python使用tkinter添加下载进度UI

    2024-07-10 21:36:05       25 阅读
  2. python tkinter 使用(三)

    2024-07-10 21:36:05       58 阅读
  3. 使用tkinter 制作工作流ui

    2024-07-10 21:36:05       23 阅读
  4. Python基础语法笔记 tkinter的简单使用

    2024-07-10 21:36:05       53 阅读
  5. 使用 PythonTkinter 来创建 GUI 应用程序

    2024-07-10 21:36:05       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 21:36:05       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 21:36:05       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 21:36:05       58 阅读
  4. Python语言-面向对象

    2024-07-10 21:36:05       69 阅读

热门阅读

  1. 计算机网络-HTTP常见面试题

    2024-07-10 21:36:05       22 阅读
  2. c++实战-多子棋

    2024-07-10 21:36:05       28 阅读
  3. 访问者模式在金融业务中的应用及其框架实现

    2024-07-10 21:36:05       20 阅读
  4. PyTorch清理CPU缓存

    2024-07-10 21:36:05       19 阅读
  5. qt 自定义信号和槽举例

    2024-07-10 21:36:05       21 阅读
  6. 贪吃蛇代码python实现

    2024-07-10 21:36:05       23 阅读
  7. iOS开发语言基础与Xcode工具初探

    2024-07-10 21:36:05       25 阅读
  8. 【面试题】Reactor模型

    2024-07-10 21:36:05       22 阅读