tkinter, и функция с while True
Использую tkinter, при нажатии на кнопку в вызванмом меню, запускается функция в которой есть while True, из-за чего пока функция работает я не могу использовать меню в tkinter, могу ли я запускать и останавливать функцию через tkinter, чтобы меню и функция помогли работать по отдельности :
Пример - нажал на кнопку on запустилась функция, меню продолжает работать и функция тоже, при нажатии кнопки off выключается функция а меню остаётся.
Был бы очень рад если поможете
Ответы (1 шт):
Я могу предложить вам несколько вариантов решения:
Использовать метод .after()
def loop(): root.after(10, loop) # где 10 это время через которое будет вызвана функция loop в мс # Ваш код loop() # Функцию достаточно вызвать лишь единожды после чего она будет выполняться постоянноИспользовать потоки
from threading import Thread def loop(): while True: # Ваш код new_thread = Thread(target=loop) # Создаём поток new_thread.start() # Запускаем потокИспользовать асинхронность. Ответы уже были даны и описаны максимально обширно вот тут: Use asyncio and Tkinter