如您所知QTableView->model()
返回QAbstractItemModel
。有没有办法用QStandardItemModel
填充QTableView->model()
的实例?或将QAbstractItemModel
转换为QStandardItemModel
?我需要一些QStandardItemModel
方法,例如clear()
,QAbstractItemModel
中没有这样的东西。
QStandardItemModel *model = new QStandardItemModel();
model = tblView->model();
error: invalid conversion from ‘QAbstractItemModel*’ to ‘QStandardItemModel*’ [-fpermissive]
对于create table,我使用以下代码:
QStandardItemModel *model = new QStandardItemModel(0, 3, this);
for (int = 0; i < 100; i++) {
model->setRowCount(model->rowCount() + 1);
model->setData(model->index(i, 0), "...");
model->setData(model->index(i, 1), "...");
model->setData(model->index(i, 2), "...");
}
tblView->model() = model;
答案 0 :(得分:0)
如果该模型与QStandardItemModel
不同,则必须创建自己的clear()
方法,以便为该模型提供代码。另一方面,如果它是QStandardItemModel
你必须施放它:
model = qobject_cas<QStandardItemModel *>(tblView->model());