下面是一个使用Python Tkinter库编写的GUI时间递增进度条系统的示例代码:

import tkinter as tk
import time

class ProgressBar:
    def __init__(self, master):
        self.master = master
        self.master.title("Time Progress Bar")
        self.master.geometry("300x100")
        self.progressbar = tk.Canvas(self.master, width=200, height=20, bg="white", relief="sunken", bd=2)
        self.progressbar.pack(pady=10)
        self.progressbar.create_rectangle(0, 0, 0, 20, fill="green", tags="progress")
        self.time_label = tk.Label(self.master, text="Time: 0s")
        self.time_label.pack(pady=5)
        self.start_button = tk.Button(self.master, text="Start", command=self.start)
        self.start_button.pack(pady=5)
        self.stop_button = tk.Button(self.master, text="Stop", command=self.stop, state="disabled")
        self.stop_button.pack(pady=5)
        self.is_running = False
        self.start_time = 0

    def start(self):
        self.start_button.config(state="disabled")
        self.stop_button.config(state="normal")
        self.is_running = True
        self.start_time = time.time()
        self.update_progress()

    def stop(self):
        self.start_button.config(state="normal")
        self.stop_button.config(state="disabled")
        self.is_running = False

    def update_progress(self):
        if self.is_running:
            elapsed_time = time.time() - self.start_time
            progress_width = int(200 * elapsed_time / 10)
            self.progressbar.coords("progress", 0, 0, progress_width, 20)
            self.time_label.config(text="Time: {:.1f}s".format(elapsed_time))
            if elapsed_time < 10:
                self.master.after(100, self.update_progress)
            else:
                self.stop()

root = tk.Tk()
app = ProgressBar(root)
root.mainloop()

这个程序创建了一个窗口,其中包含一个矩形进度条、一个显示已经过去的时间的标签、一个开始按钮和一个停止按钮。当用户点击开始按钮时,进度条开始递增,同时标签显示经过的时间。当经过的时间达到10秒时,进度条停止递增,停止按钮变为不可用状态。当用户点击停止按钮时,进度条停止递增,开始按钮变为可用状态。程序使用time模块来计算经过的时间,使用after方法来定时更新进度条和标签的显示

如何用python语言写一段GUI按时间递增的进度条系统

原文地址: https://www.cveoy.top/t/topic/eTBE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录