У меня есть следующий код, который заполняет QTableWidget:
def populate_phone_table(self):
dataRows=["Office","Fax","Mobile","Other"]
self.tbl_phone_numbers.setRowCount(4)
self.tbl_phone_numbers.setColumnCount(2)
for ndx,value in enumerate(dataRows):
item = QTableWidgetItem(value)
item.setFlags(Qt.ItemIsEditable)
item.setForeground(QColor(0,0,0))
self.tbl_phone_numbers.setItem(ndx,0,item)
item = QTableWidgetItem("")
self.tbl_phone_numbers.setItem(ndx, 1, item)
self.tbl_phone_numbers.verticalHeader().hide()
self.tbl_phone_numbers.resizeRowsToContents()
self.tbl_phone_numbers.horizontalHeader().setSectionResizeMode(1,QHeaderView.Stretch)
self.tbl_phone_numbers.horizontalHeader().hide()
self.tbl_phone_numbers.itemChanged.connect(self.update_phone_table)
def update_phone_table(self,item):
print(item.text())
item.setForeground(QColor(255,0,0))
Проблема, с которой я сталкиваюсь, - когда я редактирую столбец, соединитель вызывается дважды.Я не уверен, если это сигнал срабатывает дважды, это будет дизайн или я не использую правильный сигнал.По сути, мне нужен метод update_phone_table
, вызываемый (один раз) при редактировании QTableViewItem.