QStandardItemModel 动态增加删除行数与列数 代码c++
时间: 2024-02-25 09:52:50 浏览: 114
好的,以下是使用QStandardItemModel实现动态增加删除行数与列数的C++代码示例:
```c++
#include <QStandardItemModel>
// 创建QStandardItemModel对象
QStandardItemModel* model = new QStandardItemModel(this);
// 设置表头
model->setHorizontalHeaderLabels(QStringList() << "Column1" << "Column2");
// 设置行数和列数
model->setRowCount(2);
model->setColumnCount(2);
// 设置单元格内容
QStandardItem* item1 = new QStandardItem("Item1");
QStandardItem* item2 = new QStandardItem("Item2");
QStandardItem* item3 = new QStandardItem("Item3");
QStandardItem* item4 = new QStandardItem("Item4");
model->setItem(0, 0, item1);
model->setItem(0, 1, item2);
model->setItem(1, 0, item3);
model->setItem(1, 1, item4);
// 动态增加行
model->insertRow(2);
QStandardItem* item5 = new QStandardItem("Item5");
QStandardItem* item6 = new QStandardItem("Item6");
model->setItem(2, 0, item5);
model->setItem(2, 1, item6);
// 动态删除行
model->removeRow(2);
// 动态增加列
model->insertColumn(2);
QStandardItem* item7 = new QStandardItem("Item7");
QStandardItem* item8 = new QStandardItem("Item8");
model->setItem(0, 2, item7);
model->setItem(1, 2, item8);
// 动态删除列
model->removeColumn(2);
// 释放QStandardItemModel对象
delete model;
```
在上面的代码中,我们创建了一个QStandardItemModel对象,并设置了表头、行数、列数和单元格内容。然后,我们通过insertRow()方法动态增加了一行,并通过setItem()方法设置单元格内容。接着,我们通过removeRow()方法动态删除了一行。然后,我们使用insertColumn()方法动态增加了一列,并使用setItem()方法设置单元格内容。最后,我们通过removeColumn()方法动态删除了一列。最后,我们释放了QStandardItemModel对象。
希望这个示例能帮助您理解如何使用QStandardItemModel实现动态增加删除行数与列数。
阅读全文