QStandardItemModel 如何与QTableView、QTreeView 配合使用,给出c plus plus 代码
时间: 2024-05-21 15:10:22 浏览: 59
以下是一个简单的示例代码,展示了如何使用QStandardItemModel、QTableView和QTreeView:
```cpp
#include <QApplication>
#include <QStandardItemModel>
#include <QTableView>
#include <QTreeView>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建一个QStandardItemModel对象,并设置表头信息
QStandardItemModel model;
model.setHorizontalHeaderLabels({"Name", "Age", "Gender"});
// 往模型中添加数据
QList<QStandardItem*> row1;
row1 << new QStandardItem("Alice") << new QStandardItem("25") << new QStandardItem("Female");
QList<QStandardItem*> row2;
row2 << new QStandardItem("Bob") << new QStandardItem("30") << new QStandardItem("Male");
QList<QStandardItem*> row3;
row3 << new QStandardItem("Charlie") << new QStandardItem("35") << new QStandardItem("Male");
model.appendRow(row1);
model.appendRow(row2);
model.appendRow(row3);
// 创建一个QTableView对象,并设置数据模型
QTableView tableView;
tableView.setModel(&model);
// 创建一个QTreeView对象,并设置数据模型
QTreeView treeView;
treeView.setModel(&model);
// 显示QTableView和QTreeView
tableView.show();
treeView.show();
return app.exec();
}
```
在这个示例代码中,我们首先创建了一个QStandardItemModel对象,并设置了表头信息。然后,我们往模型中添加了一些数据,每一行数据都是一个QList<QStandardItem*>对象。接着,我们创建了一个QTableView对象和一个QTreeView对象,并将数据模型设置为刚刚创建的QStandardItemModel对象。最后,我们显示了QTableView和QTreeView。运行这个程序,你应该可以看到类似下面的效果:
![QStandardItemModel、QTableView和QTreeView配合使用的效果](https://github.com/kangshaojun/qt-tutorial/blob/main/images/standarditemmodel_tableview_treeview.png?raw=true)
阅读全文