Я строю приложение Tkinter, где я визуализирую алгоритмы сортировки на Canvas.
Проблема: всякий раз, когда я запускаю функцию сортировки, весь пользовательский интерфейс замораживает, пока функция не завершится. < /p>
Вот упрощенная версия моего кода: < /p>
import tkinter as tk
import time
def bubble_sort(canvas, data):
n = len(data)
for i in range(n):
for j in range(0, n-i-1):
if data[j] > data[j+1]:
data[j], data[j+1] = data[j+1], data[j]
draw_data(canvas, data)
time.sleep(0.1) #
Проблемы, с которыми я сталкиваюсь: < /p>
ui замораживает во время сортировки, и я не могу взаимодействовать с окном. (Поскольку tkinter не является потоком).
Какова лучшая практика в Tkinter для выполнения длинных задач (например, сортировки) при сохранении реагирования на графический интерфейс? Canvas?
Подробнее здесь: https://stackoverflow.com/questions/797 ... while-keep
Как я могу запустить долгосрочную задачу в Tkinter, не замораживая пользовательский интерфейс (сохраняя обновления в реж ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение