I am currently working on a widget that was designed in Qt Designer. I am having trouble with the syntax / overall concept of trying to add a row to a Qtable in PyQT. There is no method, which I have yet found to dynamically add rows. Any suggestions would be helpful.
Regards
You can add empty row and later populate all columns. This is how to insert row under all other rows:
rowPosition = self.table.rowCount()
table.insertRow(rowPosition)
after that you have empty row that you can populate like this for example( if you have 3 columns):
table.setItem(rowPosition , 0, QtGui.QTableWidgetItem("text1"))
table.setItem(rowPosition , 1, QtGui.QTableWidgetItem("text2"))
table.setItem(rowPosition , 2, QtGui.QTableWidgetItem("text3"))
You can also insert row at some other position (not necessary at the end of table)
It is somewhat peculiar, I've found. To insert a row, you have to follow something similar to this:
tableWidget = QTableWidget()
currentRowCount = tableWidget.rowCount() #necessary even when there are no rows in the table
tableWidget.insertRow(currentRowCount, 0, QTableWidgetItem("Some text"))
To clarify the last line of code, the first parameter of insertRow()
is the current row, the second one is current column (remember it's always 0-based), and the third must almost always be of type QTableWidgetItem
).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With