用tkinter做了一个GUI窗口,现在我想点击stop按钮停止、或结束 start按钮开启的线程,在GUI窗口不消失的情况下。
请各位帮忙看看怎么实现停止或结束线程的功能。
下面是完整代码
import tkinter as tk
import threading
def I_want_to_stop():
while True:
print("我想停下来!")
root = tk.Tk()
root.title('线程练习')
root.geometry('400x200+100+100')
var_Yaddr = tk.StringVar()
tk.Label(root, text='输入1:').place(x=10,y=50)
entry_Yaddr=tk.Entry(root,textvariable=var_Yaddr)
entry_Yaddr.place(x=120,y=50)
var_Maddr = tk.StringVar()
tk.Label(root, text='输入2:').place(x=10,y=90)
entry_Maddr=tk.Entry(root,textvariable=var_Maddr)
entry_Maddr.place(x=120,y=90)
#start按钮功能
def click_start():
global Yaddr, Maddr
Yaddr = var_Yaddr.get()
Maddr = var_Maddr.get()
t = threading.Thread(target=I_want_to_stop, name='MyLoop')
t.start()
btn_start['state'] = tk.DISABLED
#stop按钮功能
def click_stop():
pass
btn_start = tk.Button(root, text="Start", command=click_start)
btn_start.place(x=150,y=130)
btn_stop = tk.Button(root, text="Stop", command=click_stop)
btn_stop.place(x=200,y=130)
root.mainloop()