Задать вопрос
runcode
@runcode

Почему клонируется?

Поставил таймер на обновления таблицы, при клике на checkbox, в консоле выдает столько копий, сколько обновилась таблица, как сделать, чтоб выдавала одну копию при клике. Спасибо
from PyQt5.QtCore import QTimer, QTime
from PyQt5.QtWidgets import QApplication, QTableWidgetItem, QTableWidget, QHBoxLayout, QWidget


class App(QWidget):

    def __init__(self):
        super().__init__()
        self.thread = None

        self.layout = QHBoxLayout(self)
        self.layout.setSpacing(0)

        self.table = QTableWidget(self)
        self.layout.addWidget(self.table)

        self.table.setColumnCount(5)
        self.table.setRowCount(5)

        self.timer = QTimer()
        self.timer.timeout.connect(self.row)
        self.timer.start(5000)

    def row(self):
        time = QTime.currentTime()
        text = time.toString('mm:ss')
        print("update table...." + time.toString('mm:ss'))

        for row in range(5):
            item_0 = QTableWidgetItem()
            item_0.setText(text)
            self.table.setItem(row, 0, item_0)

            item_1 = QTableWidgetItem()
            item_1.setText(text)
            self.table.setItem(row, 1, item_1)

            item_2 = QTableWidgetItem()
            item_2.setText(text)
            self.table.setItem(row, 2, item_2)

            item_3 = QTableWidgetItem()
            item_3.setText(text)
            item_3.setCheckState(0)
            self.table.setItem(row, 3, item_3)

        self.table.itemClicked.connect(self.item_clicked)

    def item_clicked(self, item):
        obj = self.table.item(item.row(), 1)
        print(obj.text(), item.checkState())


if __name__ == '__main__':
    qApp = QApplication([])
    app = App()
    app.resize(600, 200)
    app.show()
    qApp.exec()
  • Вопрос задан
  • 79 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • ProductStar
    Профессия: Python-разработчик
    8 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы