将项添加到QStandardItemModel中的列

时间:2016-03-16 23:00:00

标签: c++ qt qtableview qstandarditemmodel

我目前正在向QTableView添加行

QStandardItem* itm;
QStandardItemModel* model = new QStandardItemModel(this);
model->setColumnCount(2);
model->appendRow(new QStandardItem("Some Text in Column1");

如何通过追加动态地向第2列添加项目? 在上面的示例中,列2为空。如何将项目添加到第2列?

1 个答案:

答案 0 :(得分:2)

调用appendRow(QStandardItem *)只会向第一列添加单个项目。您需要将一个QList传递给appendRow()以向每个列添加项目,例如:

QList<QStandardItem *> items;

items.append(new QStandardItem("Column 1 Text"));
items.append(new QStandardItem("Column 2 Text"));

QStandardItemModel* model = new QStandardItemModel(this);

model->setColumnCount(2);
model->appendRow(items);

有关详细信息,请参阅http://doc.qt.io/qt-5/qstandarditemmodel.html#appendRow