qtableview动态刷新数据
时间: 2023-09-10 19:04:43 浏览: 706
根据数据动态增加QTableView QTableView数据可勾选导出
在 Qt 中,可以通过 QTableView 和 QStandardItemModel 来实现表格视图的动态刷新。QStandardItemModel 是一个通用的模型类,它可以存储各种类型的数据,并且可以动态地增加、删除和修改数据。
下面是一个简单的示例代码,演示如何使用 QTableView 和 QStandardItemModel 实现表格视图的动态刷新:
```cpp
// 创建一个 QTableView 对象
QTableView *tableView = new QTableView(this);
// 创建一个 QStandardItemModel 对象
QStandardItemModel *model = new QStandardItemModel(this);
// 设置表头
model->setHorizontalHeaderLabels({"Name", "Age", "Gender"});
// 添加数据到模型中
for (int i = 0; i < data.size(); i++) {
QList<QStandardItem *> row;
for (int j = 0; j < data[i].size(); j++) {
QStandardItem *item = new QStandardItem(data[i][j]);
row.append(item);
}
model->appendRow(row);
}
// 设置模型到表格视图中
tableView->setModel(model);
// 更新数据
for (int i = 0; i < data.size(); i++) {
for (int j = 0; j < data[i].size(); j++) {
model->setData(model->index(i, j), newData[i][j]);
}
}
// 刷新表格视图
tableView->viewport()->update();
```
在上面的代码中,data 是一个二维数组,表示表格视图中的原始数据;newData 是一个与 data 大小相同的二维数组,表示更新后的数据。通过遍历数据,逐个设置模型的数据,并调用 viewport()->update() 函数刷新表格视图即可完成动态刷新。
阅读全文