qt中model/view模型代码示例
时间: 2024-01-04 13:04:34 浏览: 101
以下是一个简单的Qt代码示例,演示如何在Qt中使用Model/View模式:
```cpp
#include <QApplication>
#include <QStandardItemModel>
#include <QTreeView>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建数据模型
QStandardItemModel model;
// 设置模型的表头
model.setHorizontalHeaderLabels({"Name", "Age"});
// 添加数据项
QList<QStandardItem*> person1;
person1 << new QStandardItem("John") << new QStandardItem("25");
model.appendRow(person1);
QList<QStandardItem*> person2;
person2 << new QStandardItem("Mary") << new QStandardItem("30");
model.appendRow(person2);
// 创建视图对象
QTreeView view;
view.setModel(&model);
view.show();
return app.exec();
}
```
在这个示例中,我们首先创建了一个`QStandardItemModel`作为数据模型,并设置了表头。然后,我们创建了一些包含人名和年龄的数据项,并将它们添加到模型中。最后,我们创建了一个`QTreeView`作为视图对象,并将模型设置为视图的数据源。最终,调用`app.exec()`启动应用程序事件循环,显示视图并等待用户交互。
当您运行此示例时,将显示一个带有两行数据的树形视图,其中每行都有两列:姓名和年龄。
这只是一个简单的示例,您可以根据自己的需求进行修改和扩展。您可以使用不同的模型类、视图类和代理类来实现更复杂的模型/视图功能。
希望这个示例能够帮助您更好地理解在Qt中使用Model/View模式的基本步骤。如果您有任何进一步的问题,请随时提问。
阅读全文