Промаргивают кнопки в PyQt при работе с потоками

Всем доброго времени суток, требуется помощь в настройке проекта на PyQt. Сам проект выполняет подключение к PLC с помощью библиотеки snap7. На форме созданы QPushButton. Имеется функция, которая считывает с контроллера область памяти db, и в зависимости от значения в этой области памяти (1 или 0) должна менять цвет кнопки. Функция должна работать в бесконечном потоке при запуске приложения, с помощью встроенного класса QThread. При работе с одной кнопкой (одно условие if) - проблем не возникает. При добавлении остальных - начинаются периодические промаргивания кнопки другим цветом (базовым цветом кнопки на форме Qt Designer). Подскажите, в чем может быть проблема таких промаргиваний?

Класс Qthread:

class Parse_DB_keyboard(QThread):
    def __init__(self, mainwindow, parrent=None):
        super().__init__()
        self.mainwindow = mainwindow

    def run(self):
        while True:
            data_db = self.mainwindow.conn_read.db_read(2, 5, 5)

            if send_to_PLC.parse_btn(data_db, 5, 1):
                self.mainwindow.btn_auto_start_keyRow5Number1.setStyleSheet('QPushButton {background: rgba(60,160,100,150);}')
            else:
                self.mainwindow.btn_auto_start_keyRow5Number1.setStyleSheet('QPushButton {background-color: transparent;}')
            if send_to_PLC.parse_btn(data_db, 4, 1):
                self.mainwindow.btn_auto_keyRow4Number1.setStyleSheet('QPushButton {background: rgba(60,160,100,150);}')
            else:
                self.mainwindow.btn_auto_keyRow4Number1.setStyleSheet('QPushButton {background-color: transparent;}')
            if send_to_PLC.parse_btn(data_db, 5, 3):
                self.mainwindow.btn_all_rt_groups_keyRow5Number3.setStyleSheet('QPushButton {background: rgba(60,160,100,150);}')
            else:
                self.mainwindow.btn_all_rt_groups_keyRow5Number3.setStyleSheet('QPushButton {background-color: transparent;}')
            time.sleep(1) 

Класс основного приложения:

class Ui(QtWidgets.QMainWindow):
    def __init__(self):
        super(Ui, self).__init__()

        # кнопки
        self.btn_auto_start_keyRow5Number1 = None
        self.btn_auto_keyRow4Number1 = None
        self.btn_all_rt_groups_keyRow5Number3 = None
        self.btn_liftting_up_keyRow4Number4 = None
        self.btn_lower_down_keyRow4Number5 = None
        self.btn_group_sel_2_keyRow5Number7 = None
        self.btn_group_sel_1_keyRow2Number1 = None
        self.conn_write = None
        self.conn_read = None
        self.layout = configuration.layout

        # вызов инициализаторов
        self.init_keyboard()
        self.init_button()

        self.Thread_write_db = Parse_DB_keyboard(mainwindow=self)
        self.Thread_write_db.start()

        # вызов основного окна
        self.show()

Нормальная работа приложения

Момент промаргивания кнопки


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