鱼C论坛

 找回密码
 立即注册
查看: 4000|回复: 18

[已解决]tkinter 如何将进度百分比放置在进度条中间

[复制链接]
发表于 2023-7-26 11:39:57 | 显示全部楼层
人工

  1. import tkinter as tk
  2. from tkinter import ttk
  3. import threading
  4. import time

  5. def long_running_task(progress_var, label_var):
  6.     total_steps = 100
  7.     for i in range(total_steps):
  8.         # 模拟长时间运行的任务
  9.         time.sleep(0.1)
  10.         # 更新进度条和标签
  11.         progress_var.set(i + 1)
  12.         label_var["text"] = f"{int((i + 1) / total_steps * 100)}%"
  13.         label_var.place(x=50+progress_var.get(),y=10)
  14.         root.update()

  15. def start_task():
  16.     # 创建并启动一个新线程来运行长时间任务
  17.     thread = threading.Thread(target=long_running_task, args=(progress_var, label_var))
  18.     thread.start()

  19. # 创建主窗口
  20. root = tk.Tk()
  21. root.title("进度条示例")


  22. # 创建一个进度条
  23. progress_var = tk.DoubleVar()
  24. progress_bar = ttk.Progressbar(root, variable=progress_var, maximum=100)
  25. progress_bar.place(x=50, y=10)

  26. # 创建一个标签来显示进度百分比
  27. label_var = tk.Label()

  28. # 创建一个开始按钮
  29. start_button = tk.Button(root, text="开始任务", command=start_task)
  30. start_button.place(x=75, y=50)

  31. # 运行主循环
  32. root.mainloop()
复制代码

评分

参与人数 1荣誉 +5 贡献 +3 收起 理由
python爱好者. + 5 + 3 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-26 12:03:21 | 显示全部楼层    本楼为最佳答案   
las6040 发表于 2023-7-26 12:01
是的,只是目前没有找到将label控件背景透明的方法

Snipaste_2023-07-26_12-03-08.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-26 12:06:58 | 显示全部楼层
试一下 wxpython,tkinter 的限制确实比较多
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-26 10:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表