import tkinter import time import threading from tkinter import ttk event = threading.Event() once=0 def start(): global once if once==1: # event.set() # print('繼續') pass else: event.set() t1 = threading.Thread(target=thread) # print(threading.currentThread()) //獲取線程id t1.setDaemon(True) # validate() t1.start() print("開始") once+=1 def stop(): event.clear() print('暫停') def conti(): event.set() print('繼續') def main(): try: print(s1.get(),s2.get()) for i in range(0, 30): mpb["value"] = i text.see(tkinter.END) # 一直查看文本的最后位置~ text.insert('end', "驗證不通過,請查看!" + str(i) + "\r\n") # scale.config(mode='determinate', maximum=11.0, value=i) text.update() # 一直更新輸出 print(i) time.sleep(0.1) event.wait() window.update() text.insert('end', "程序運行完成!" + "\r\n") text.update() text.see(tkinter.END) print("驗證不通過!") pass except: pass def thread(): # while True: main() window = tkinter.Tk() window.title('測試') # l1=tkinter.Label(text="word輸出文件路徑") l1.grid(row=0,column=0) # e1=tkinter.Entry("") s1 = tkinter.StringVar() entry1 = tkinter.Entry(window, textvariable=s1) entry1.grid(row=0,column=1) l2=tkinter.Label(text="Excel文件路徑") l2.grid(row=1,column=0) # e2=tkinter.Entry("") s2 = tkinter.StringVar() entry2 = tkinter.Entry(window, textvariable=s2) entry2.grid(row=1,column=1) i=0 mpb = ttk.Progressbar(window, orient="horizontal", length=200, value=0,mode="determinate") mpb.grid(row=2,column=0,columnspan=2) button1=tkinter.Button(window,text='開始',command=start) button1.grid(row=0,column=2) button2=tkinter.Button(window,text='暫停',command=stop) button2.grid(row=1,column=2) button3=tkinter.Button(window,text='繼續',command=conti) button3.grid(row=2,column=2) from tkinter import scrolledtext # 導入滾動文本框的模塊 scrolW = 50 # 設置文本框的長度 scrolH = 18 # 設置文本框的高度 text = scrolledtext.ScrolledText(window, width=scrolW, height=scrolH, wrap=tkinter.WORD) text.grid(row=10, columnspan=8, sticky=tkinter.E) tkinter.mainloop()