Делаю приложение, по задумке генерируется таблица из данных получаемых через REST. Первой ячейкой каждой строки делаю чекбокс. Вешаю на каждый чекбокс функцию перерасчета итоговой суммы одного из столбцов. По замыслу функция должна пройтись по всем строкам и суммировать только ячейки тех строк где отметка чекбокса стоит.
Вопрос в том как мне получить состояние чекбокса при переборе строк?
Примерно вот так генерирую наполнение таблицы:
table = self.ui.historyTable
for i, op in enumerate(totalop):
self.checkbox = QtWidgets.QCheckBox()
self.checkbox.setCheckState(QtCore.Qt.CheckState.Checked)
self.checkbox.setStyleSheet('margin-left:12px;')
self.checkbox.stateChanged.connect(self.recalc)
table.setCellWidget(i, 0, self.checkbox)
table.setItem(i, 1, QtWidgets.QTableWidgetItem(ticker)
table.setItem(i, 2, QtWidgets.QTableWidgetItem(op.get('operationType')))
table.setItem(i, 3, QtWidgets.QTableWidgetItem(str(op.get('price')).replace('.', ',')))
Ну и пытаюсь обработать клик на чекбоксе:
def recalc(self):
table = self.ui.historyTable
for i in range(table.rowCount()):
item = table.item(i, 0)
# ???
Однако в item у меня None. Подскажите как получить доступ к чекбоксу чтобы считать с него статус.