簡體   English   中英

如何通過按下按鈕關閉程序?

[英]How to close the program by pressing button?

希望您能幫我解決這個問題。

我有以下代碼:

from Tkinter import *
import ttk
import time

def start():
    start_stop.config(text="QUIT", command=stop)
    for i in xrange(5):
        pbar_det.step(19.99)
        master.update()
        # Busy-wait
        time.sleep(1)
    master.quit()

def stop():
    master.quit()

master = Tk()

start_stop = Button(master, text='START', command=start)
start_stop.grid(row=0, column=1, pady=2, padx=2, sticky=E+W+N+S)

pbar_det = ttk.Progressbar(master, orient="horizontal", length=600, mode="determinate")
pbar_det.grid(row=0, column=0, pady=2, padx=2, sticky=E+W+N+S)

master.mainloop()

我按下開始按鈕,進度條開始,進度條已滿(五秒鍾)時,按鈕文本變為“ QUIT”並結束(並且程序已關閉)

我該如何做才能在那時按下“退出”關閉程序? (不等待欄填充)

我希望你能幫幫我! 謝謝!

嘗試這個:

from Tkinter import *
import ttk
import time
import threading

def start():
    start_stop.config(text="QUIT", command=stop)
    thread = threading.Thread(target=progBar, args=())
    thread.daemon = True
    thread.start()

def progBar():
    for i in xrange(5):
        pbar_det.step(19.99)
        master.update()
        # Busy-wait
        time.sleep(1)
    master.quit()

def stop():
    master.quit()

master = Tk()

start_stop = Button(master, text='START', command=start)
start_stop.grid(row=0, column=1, pady=2, padx=2, sticky=E+W+N+S)

pbar_det = ttk.Progressbar(master, orient="horizontal", length=600, mode="determinate")
pbar_det.grid(row=0, column=0, pady=2, padx=2, sticky=E+W+N+S)

master.mainloop()

編輯

變量名固定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM