我在我的应用程序中有一个表格小部件(tablewidget)。它有两列,包括文件名(filename)和文件路径(filepath)。我想通过一个按键(pushbutton)向这个表格小部件添加文本,并使用这个文本来进行一些操作。如何实现?
我在我的应用程序中有一个表格小部件(tablewidget)。它有两列,包括文件名(filename)和文件路径(filepath)。我想通过一个按键(pushbutton)向这个表格小部件添加文本,并使用这个文本来进行一些操作。如何实现?
您不能直接将文本(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"));
QTableWidget
单元格添加文本,您必须通过QTableWidgetItem
(逐个单元格)进行操作。 - gengisdave