GUI进度条程序参考

import time
import threading
from tkinter import *


def update_progress_bar():
    for percent in range(1, 101):
        hour = int(percent / 3600)
        minute = int(percent / 60) - hour * 60
        second = percent % 60
        green_length = int(sum_length * percent / 100)
        canvas_progress_bar.coords(canvas_shape, (0, 0, green_length, 25))
        canvas_progress_bar.itemconfig(canvas_text, text='%02d:%02d:%02d' % (hour, minute, second))
        var_progress_bar_percent.set('%0.2f %%' % percent)
        time.sleep(1)


def run():
    th = threading.Thread(target=update_progress_bar)
    th.setDaemon(True)
    th.start()


top = Tk()
top.title('Progress Bar')
top.geometry('800x500+290+100')
top.resizable(False, False)
top.config(bg='#535353')

# 进度条
sum_length = 630
canvas_progress_bar = Canvas(top, width=sum_length, height=20)
canvas_shape = canvas_progress_bar.create_rectangle(0, 0, 0, 25, fill='green')
canvas_text = canvas_progress_bar.create_text(292, 4, anchor=NW)
canvas_progress_bar.itemconfig(canvas_text, text='00:00:00')
var_progress_bar_percent = StringVar()
var_progress_bar_percent.set('00.00 %')
label_progress_bar_percent = Label(top, textvariable=var_progress_bar_percent, fg='#F5F5F5', bg='#535353')
canvas_progress_bar.place(relx=0.45, rely=0.4, anchor=CENTER)
label_progress_bar_percent.place(relx=0.89, rely=0.4, anchor=CENTER)
# 按钮
button_start = Button(top, text='开始', fg='#F5F5F5', bg='#7A7A7A', command=run, height=1, width=15, relief=GROOVE, bd=2,
                      activebackground='#F5F5F5', activeforeground='#535353')
button_start.place(relx=0.45, rely=0.5, anchor=CENTER)

top.mainloop()







import time
import threading
from tkinter import *
import tkinter

from tkinter import messagebox
from mttkinter import mtTkinter as tk


global ax
ax = 0

def update_progress_bar():

    for percent in range(0, 101):
        hour = int(percent / 3600)
        minute = int(percent / 60) - hour * 60
        second = percent % 60
        green_length = int(sum_length * ax / 100)
        canvas_progress_bar.coords(canvas_shape, (0, 0, green_length, 25))
        canvas_progress_bar.itemconfig(canvas_text, text='%02d:%02d:%02d' % (hour, minute, second))
        var_progress_bar_percent.set('%0.2f %%' % ax)
        time.sleep(1)


def run():
    th = threading.Thread(target=update_progress_bar)
    th.setDaemon(True)
    th.start()



def ProcessBar():

    global top
    global sum_length
    global canvas_progress_bar
    global canvas_text
    global canvas_shape
    global var_progress_bar_percent

    top = Tk()
    top.title('Progress Bar')
    top.geometry('800x500+290+100')
    top.resizable(False, False)
    top.config(bg='#535353')

    # 进度条
    sum_length = 630
    canvas_progress_bar = Canvas(top, width=sum_length, height=20)
    canvas_shape = canvas_progress_bar.create_rectangle(0, 0, 0, 25, fill='green')
    canvas_text = canvas_progress_bar.create_text(292, 4, anchor=NW)
    canvas_progress_bar.itemconfig(canvas_text, text='00:00:00')
    var_progress_bar_percent = StringVar()
    var_progress_bar_percent.set('00.00 %')
    label_progress_bar_percent = Label(top, textvariable=var_progress_bar_percent, fg='#F5F5F5', bg='#535353')
    canvas_progress_bar.place(relx=0.45, rely=0.4, anchor=CENTER)
    label_progress_bar_percent.place(relx=0.89, rely=0.4, anchor=CENTER)



def a1():

    global IFCheck
    global ax
    IFCheck = tkinter.Tk()
    IFCheck.title('IFCheck')
    IFCheck.geometry("500x100")
    IFCheck.update()
    messagebox.showinfo("提示", "开始")
    ax = 1
    for i in range(1, 500000):
        print(i)


def a2():

    IFCheck.update()
    for i in range(1, 500000):
        print(i)



def a3():

    IFCheck.update()
    for i in range(1, 500000):
        print(i)



def akk():
    for i in range(1, 999):
        print(i)

def ad():

    global ax

    a1()

    ax = 50

    a2()

    ax = 70

    a3()

    ax = 100

    green_length = int(sum_length * ax / 100)
    canvas_progress_bar.coords(canvas_shape, (0, 0, green_length, 25))
    # canvas_progress_bar.itemconfig(canvas_text, text='%02d:%02d:%02d' % (hour, minute, second))
    var_progress_bar_percent.set('%0.2f %%' % ax)

    messagebox.showinfo("提示", "完成")

    top.quit()

def run2():
    th2 = threading.Thread(target=ad)
    th2.setDaemon(True)
    th2.start()


if __name__ == '__main__':

    akk()

    ProcessBar()

    run2()

    time.sleep(1)

    run()

    top.mainloop()




















 

你可能感兴趣的:(GUI进度条程序参考)