My app is phonebook(educational purposes). When user opens application, QTableWidged is filled with data loaded from .xml file. When user add new phone number, I would like to append this number to QTableWidget, but previously I setRowCount to current value, and now it is one row to little. How can I solve this problem?
Doing something like this should work:
tableWidget->insertRow( tableWidget->rowCount() );
This will append a row to the end of your table. You can use the insertRow() function to insert new rows into the middle of your table as well.
To extend @Chris' answer and provide additional information:
If you want to add data (i.e. push_back and fill a new row):
tableWidget->insertRow ( tableWidget->rowCount() ); tableWidget->setItem ( tableWidget->rowCount()-1, yourColumn, new QTableWidgetItem(string)); // repeat for more columns
If you know the number of rows and columns in advance:
ui->tableWidget->clear(); ui->tableWidget->setRowCount(numRows); ui->tableWidget->setColumnCount(numColumns); for (auto r=0; r<numRows; r++) for (auto c=0; c<numColumns; c++) tableWidget->setItem( r, c, new QTableWidgetItem(stringData(r,c)));
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