[英]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.