非常抱歉,我之前的回答有误。以下是在 mainwindow.h
中创建一个有3列4行的 QTableView 的正确示例:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTableView>
#include <QStandardItemModel>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr)
: QMainWindow(parent)
{
// 创建表格视图
QTableView *tableView = new QTableView(this);
// 创建数据模型
QStandardItemModel *model = new QStandardItemModel(4, 3, this);
// 设置表头数据
model->setHeaderData(0, Qt::Horizontal, "Name");
model->setHeaderData(1, Qt::Horizontal, "Age");
model->setHeaderData(2, Qt::Horizontal, "City");
// 设置单元格数据
for (int row = 0; row < 4; ++row) {
for (int col = 0; col < 3; ++col) {
QModelIndex index = model->index(row, col);
QString data = QString("Row %1, Col %2").arg(row).arg(col);
model->setData(index, data);
}
}
// 将模型设置给表格视图
tableView->setModel(model);
// 添加表格视图到主窗口布局中
setCentralWidget(tableView);
}
};
#endif // MAINWINDOW_H
这个示例中,我们创建了一个继承自 QMainWindow
的类 MainWindow
。构造函数中,我们首先创建了一个 QTableView
表格视图和一个 QStandardItemModel
数据模型。我们通过 QStandardItemModel
的构造函数来指定表格的行数和列数。然后,我们设置了表头数据和单元格数据,并将数据模型设置给表格视图。最后,我们将表格视图添加到主窗口的布局中。
同样,请确保在使用这个示例之前已经正确包含了相关头文件,并且 Qt 的开发环境已经配置好。
内容由零声教学AI助手提供,问题来源于学员提问