我有以下代码填充 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 时调用(一次)的方法。
LEATH
相关分类