Возможное решение этой проблемы - использование потоков.В Python есть модуль под названием Threading.Вы можете использовать этот модуль для создания потоков, чтобы ваше приложение tkinter не зависало.Вот как это выглядит.
import threading
def Function(Data):
print(Data)
thread = threading.Thread(target=Function, args=["Hi"], daemon=True).start()
# daemon simply means that the thread will die once done executing.
Мы создаем поток с именем thread.Поток выполнит функцию.Потоки делят программу на одновременно выполняемые задачи.Что, другими словами, означает, что две или более задач могут быть выполнены в одно и то же время.Потоки в одном и том же процессе используют одну и ту же память и ресурсы, а процесс - нет.Вы также можете создавать потоки в классах, используя модуль потоков.Просто импортируйте модуль потоков и наследуйте его в классе.Например,
import threading
class Animal(threading.Thread):
def __init__(self, v):
threading.Thread.__init__(self, Variable): # init for threaded classes
self.Variable = Variable
self.Run()
def Run(self):
print("I am an animal")
A = Animal("Snake")
A.start()
Это замечательно, если вы хотите, чтобы объект работал, не замедляя работу приложения и не вызывая его зависание и зависание.