您不能将文本 (QString) 直接添加到 QTableWidget,您必须先创建一个 QTableWidgetItem,然后将其插入到所需的单元格中。示例:
// create a new qtablewidget
QTableWidget tablewidget;
// our tablewidget has 2 columns
tablewidget.setColumnCount(2);
// we insert a row at position 0 because the tablewidget is still empty
tablewidget.insertRow(0);
// we add the items to the row we added
tablewidget.setItem(0, 0, new QTableWidgetItem("first row, first column"));
tablewidget.setItem(0, 1, new QTableWidgetItem("first row, second column"));
如果你有更多的列,方法是一样的
如果您想添加更多行(即使使用第一行也很好),您可以使用泛型
tablewidget.insertRow(tablewidget.rowCount());
它总是在表的末尾添加一个新行(追加);
更难:这应该解释insertRow() 与不存在的appendRow() 有何不同(和强大)
QTableWidget tablewidget;
tablewidget.setColumnCount(2);
// we insert a row at position 0 because the tablewidget is still empty
tablewidget.insertRow(tablewidget.rowCount());
tablewidget.setItem(0, 0, new QTableWidgetItem("first row, first column"));
tablewidget.setItem(0, 1, new QTableWidgetItem("first row, second column"));
// "append" new row at the bottom with rowCount()
tablewidget.insertRow(tablewidget.rowCount());
tablewidget.setItem(1, 0, new QTableWidgetItem("second row, first column"));
tablewidget.setItem(1, 1, new QTableWidgetItem("second row, second column"));
// we insert a "new" second row pushing the old row down
tablewidget.insertRow(1);
tablewidget.setItem(1, 0, new QTableWidgetItem("this push the"));
tablewidget.setItem(1, 1, new QTableWidgetItem("second row down"));