如何将 tableWIdget 中的行更改与 PyQT 连接起来
How to connect a row change in tableWIdget with PyQT
使用 python,我有一个 QTableWidget。
我需要对 table 的内容进行计算
在我的 table 构造函数中:
for i in range(rowNumber):
for j in range(columnNumber):
cellLineEdit = QLineEdit()
cellLineEdit.textChanged.connect(self.sync_lineEdit)
self.tableWidget.setCellWidget(i, j, cellLineEdit)
sync_lineEdit函数:
def sync_lineEdit(self, text):
#perform computations using the table contents.
有没有办法将 table 的行添加到 sync_lineEdit 调用中?理想情况下,我希望它成为 sync_lineEdit 函数的参数。
正如@musicamante 所建议的,以下解决方案有效
在构造函数中:
rowNumber = self.tableWidget.rowCount()
columnNumber = self.tableWidget.columnCount()
for i in range(rowNumber):
for j in range(columnNumber):
self.tableWidget.openPersistentEditor(self.tableWidget.itemAt(rowNumber, columnNumber))
self.tableWidgetHomme.cellChanged.connect(self.sync_lineEdit)
回调:
def sync_lineEditHomme(self, row, column):
print("row = ", row, "column = ", column)
#access an other element of the table for calculations :
Value = int(self.tableWidget.item(row,0).text())
使用 python,我有一个 QTableWidget。
我需要对 table 的内容进行计算 在我的 table 构造函数中:
for i in range(rowNumber):
for j in range(columnNumber):
cellLineEdit = QLineEdit()
cellLineEdit.textChanged.connect(self.sync_lineEdit)
self.tableWidget.setCellWidget(i, j, cellLineEdit)
sync_lineEdit函数:
def sync_lineEdit(self, text):
#perform computations using the table contents.
有没有办法将 table 的行添加到 sync_lineEdit 调用中?理想情况下,我希望它成为 sync_lineEdit 函数的参数。
正如@musicamante 所建议的,以下解决方案有效
在构造函数中:
rowNumber = self.tableWidget.rowCount()
columnNumber = self.tableWidget.columnCount()
for i in range(rowNumber):
for j in range(columnNumber):
self.tableWidget.openPersistentEditor(self.tableWidget.itemAt(rowNumber, columnNumber))
self.tableWidgetHomme.cellChanged.connect(self.sync_lineEdit)
回调:
def sync_lineEditHomme(self, row, column):
print("row = ", row, "column = ", column)
#access an other element of the table for calculations :
Value = int(self.tableWidget.item(row,0).text())