swanseabrian 发表于 2021-9-17 11:07:28

tkinter 进度条 求解,谢谢

import re
import os
from tkinter import *
from math import trunc
import chardet
import tkinter as tk
from time import sleep

from math import trunc

from tkinter import ttk

fileList = range(10)


step = trunc(100/len(fileList))
def MAIN():
    """Put your loop in here"""
    for fileName in fileList:
   
      sleep(1)

      print(fileName)

      progress.step(step)
      progress.update()
root.destroy()
root = tk.Tk()
progress = ttk.Progressbar(root, length=100)
progress.pack()

progress.after(1, MAIN)
root.mainloop()

为什么要用这三行,看 不懂,可以解释一下吗,谢谢
root.destroy()
root = tk.Tk()
progress = ttk.Progressbar(root, length=100)

Twilight6 发表于 2021-9-17 11:46:07



.destory() 是隐藏组件

Tk() 是创建根窗口

Progressbar() 进度条组件,里面 length 设置进度条长度

Ps:建议将 Tkinter 基础去学完,另外你代码有些问题

swanseabrian 发表于 2021-9-17 12:40:05

Twilight6 发表于 2021-9-17 11:46
.destory() 是隐藏组件

Tk() 是创建根窗口





.destory() 这个不是关闭的意思吗 为什么要关闭了,又创建,就是这里看不懂

Twilight6 发表于 2021-9-17 12:44:33

swanseabrian 发表于 2021-9-17 12:40
.destory() 这个不是关闭的意思吗 为什么要关闭了,又创建,就是这里看不懂


抱歉 我记错了,grid_forget()、place_forget() 才是隐藏

destroy() 是销毁组件,直接 root.destroy() 就相当于直接销毁所有子组件并终止循环了

你这里代码本身就是错的,根窗口都没创建,怎么销毁?

swanseabrian 发表于 2021-9-17 14:38:45

Twilight6 发表于 2021-9-17 12:44
抱歉 我记错了,grid_forget()、place_forget() 才是隐藏

destroy() 是销毁组件,直接 root.destr ...

是,我看也着是奇怪,谢谢,我在研究研究
页: [1]
查看完整版本: tkinter 进度条 求解,谢谢