将项目添加到 QStandardItemModel 中的列

Jam*_*nco 5 c++ qt qtableview qstandarditemmodel

我目前加行我QTableView这样

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

如何通过附加将项目动态添加到第 2 列?在上面的例子中,第 2 列是空的。如何将项目添加到第 2 列?

小智 8

调用 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);
Run Code Online (Sandbox Code Playgroud)

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