нужно каждый шаг этой алгоритма выводить на главный экран.
Я сделал так, у класса мт написал такой метод:
def __logging(self):
# Формирование строки для записи
text = copy.copy(self.__feed)
text.insert(self.__cell, f'[q{self.__state}]')
text = ''.join(text)
treades = []
# Вызов всех слушателей
for i in self.__observer:
t = Thread(target=i, args=(text,))
t.start()
treades.append(t)
for t in treades:
t.join()
Перед запуском машины тьюрига я в массив
self.__observer
засунул такую функцию :
lambda text : self.ui.textBrowser.append(text)
Т.е. по идее при каждом выполненом фаге, алгоритм должен приостановиться, на экран вывестись шаг алгоритма и потом алгоритм должен продолжить работу. Но, по факту происходит так, что
алгорит полностью выполняется и только после этого на экран выводиться все шаги алгоритма разом.
Почему так происходит?
Пару дней назад смотрел твой код, проблема была таже, но тредов не было 🤔.
А где шаги алгоритма?
Обсуждают сегодня