При нажатии на кнопку немедленно прервать выполнение указанной функции
Помогите с решением. Нужно, чтобы после нажатия на клавишу "s" или кнопку STOP, выполнение функции mainProc() тут же прерывалось. То есть, чтобы эта функция, которая "рисует" курсором квадрат не дорисовывала его до конца, если в этот момент была нажата кнопка.
import time
import keyboard
import pyautogui
import threading
from tkinter import *
root = Tk()
root.title("Label")
time.sleep(0.5)
stop = True
def button_stop_command():
global stop
stop = True
def button_start_command():
global stop
if stop == True:
stop = False
while stop == False:
mainProc()
def button_starter():
t = threading.Thread(target=button_start_command)
t.start()
button_start = Button(root, text="START", padx=30, pady=20, command=button_starter)
button_start.grid(columnspan=1, row=1,column=0)
button_stop = Button(root, text="STOP", padx=32, pady=20, command=button_stop_command)
button_stop.grid(row=2, column=0)
keyboard.add_hotkey('a', button_starter)
keyboard.add_hotkey('s', button_stop_command)
def mainProc():
pyautogui.move(150, 0, 0.5, pyautogui.easeOutQuad)
pyautogui.move(0, 150, 0.5, pyautogui.easeOutQuad)
pyautogui.move(-150, 0, 0.5, pyautogui.easeOutQuad)
pyautogui.move(0, -150, 0.5, pyautogui.easeOutQuad)
root.mainloop()