使用qt create 定义模型并初始化数据,将模型传给table widget,举个完整的例子
时间: 2023-12-10 13:40:35 浏览: 133
用qt利用tablewidget等控件
好的,下面是一个完整的例子,实现了使用 Qt Creator 定义模型并初始化数据,并将模型传给 Table Widget 显示数据。
首先,我们需要在 Qt Creator 中创建一个新的项目,选择 Qt Widgets Application。
在生成的代码中,我们可以看到一个名为 `mainwindow.cpp` 的文件,这个文件中包含了窗口的代码。我们需要在这个文件中编写我们的代码。
首先,我们需要添加头文件:
```cpp
#include <QTableView>
#include <QStandardItemModel>
```
`QTableView` 是用来显示表格数据的控件,`QStandardItemModel` 是用来存储数据的模型。
然后,我们需要在 `MainWindow` 类的构造函数中添加以下代码:
```cpp
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
QStandardItemModel *model = new QStandardItemModel(4, 2, this); // 创建一个 4 行 2 列的模型
model->setHeaderData(0, Qt::Horizontal, tr("Name")); // 设置表头
model->setHeaderData(1, Qt::Horizontal, tr("Age"));
model->setData(model->index(0, 0), tr("Tom")); // 设置数据
model->setData(model->index(0, 1), 18);
model->setData(model->index(1, 0), tr("Mary"));
model->setData(model->index(1, 1), 20);
model->setData(model->index(2, 0), tr("John"));
model->setData(model->index(2, 1), 22);
model->setData(model->index(3, 0), tr("Lucy"));
model->setData(model->index(3, 1), 25);
QTableView *tableView = new QTableView(this); // 创建一个表格控件
tableView->setModel(model); // 设置模型
setCentralWidget(tableView); // 将表格控件设置为窗口的中心部件
}
```
这段代码中,我们首先创建一个 `QStandardItemModel` 对象,并设置它的行数和列数。然后,我们设置表头和数据,并创建一个 `QTableView` 对象,并将模型设置为它的模型。最后,我们将表格控件设置为窗口的中心部件。
现在我们可以编译运行程序了。程序运行后,会显示一个表格,其中包含了我们在代码中设置的数据和表头。
这就是使用 Qt Creator 定义模型并初始化数据,并将模型传给 Table Widget 的完整例子。
阅读全文