按下按钮后停止功能

时间:2020-05-27 18:56:55

标签: python function tkinter pycharm tk

我有一个“开始”按钮,可以启动一个功能,但是还想要一个可以结束特定功能的按钮,这是我可以执行此操作的一种方法,这是我的代码:

from tkinter import *
from tkinter.ttk import *

root = Tk()
root.geometry('900x900')
def start():
    for count in range(100):
        Label(root,text='hi').pack()

def stop():
    #What code should I use to stop 'def start'
    print('')

Button(root,text='stop',command=lambda: stop).pack()
Button(root,text='start',command=lambda: start()).pack()

root.mainloop()

预先感谢

1 个答案:

答案 0 :(得分:0)

您可以尝试使用库线程并同时运行两个线程。

我在这里留下代码。

from tkinter import *
from tkinter.ttk import *
from time import sleep
import threading
from threading import Thread
root = Tk()
root.geometry('900x900')

def start():
    global flag
    for count in range(100):
        if flag:break
        print(flag)
        Label(root,text='hi').pack()
        sleep(1)

def stop():
    global flag
    flag=True
    print(flag)
if __name__=='__main__':
    flag=False
    thread=[]
    Button(root,text='stop',command=lambda: Thread(target=stop).start()).pack()
    Button(root,text='start',command=lambda: Thread(target=start).start()).pack()
    root.mainloop()