Как остановить бесконечный цикл считывания python, по нажатию кнопки?

Я на python делаю терминал, который считывает информацию с com порта, гуи я сделал на tkinter, и во время работы программы одна кнопка запускает вот такой цикл в чью задачу входит считывание данных и выводить их.

self.connect=serial.Serial(self.combox_port.get(), baudrate=int(self.baudrate), bytesize=int(self.bytesize), stopbits=int(self.stopbits))
print("Подключение установлено")
while self.main_flag:
    self.line=self.connect.readline().decode().strip()
    if self.line:
        print(self.line)

Далее во время работы программы она должна останавливаться по нажатию второй кнопки. Кнопка заменяет значение main_flag на false что должно останавливать программу, но у меня происходит ошибка и программа перестает отвечать. В чем проблема? как это можно исправить?


Ответы (0 шт):