qt用代码编写一个带表格的widget
时间: 2024-09-11 12:08:39 浏览: 32
在Qt中,你可以使用`QTableView`来创建一个带表格的窗口部件(Widget)。`QTableView`是基于模型/视图架构的,因此你需要一个模型来提供数据。以下是一个简单的例子,展示如何使用`QTableView`和`QStandardItemModel`来创建一个带表格的Widget。
```cpp
#include <QApplication>
#include <QTableView>
#include <QStandardItemModel>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 创建一个QTableView实例
QTableView *tableView = new QTableView();
// 创建一个QStandardItemModel实例,这个模型将用于存储表格数据
QStandardItemModel *model = new QStandardItemModel();
model->setHorizontalHeaderLabels(QStringList() << "列1" << "列2" << "列3"); // 设置列头
// 向模型中添加数据
for (int row = 0; row < 5; ++row) {
for (int column = 0; column < 3; ++column) {
QStandardItem *item = new QStandardItem(QString("数据%1").arg(row * 3 + column + 1));
model->setData(model->index(row, column), item);
}
}
// 将模型设置到视图中
tableView->setModel(model);
// 调整视图大小以适应模型大小
tableView->resizeColumnsToContents();
tableView->resizeRowsToContents();
// 显示表格视图窗口
tableView->show();
return app.exec();
}
```
在这段代码中,我们首先包含了必要的Qt头文件,并创建了`QTableView`和`QStandardItemModel`的实例。然后我们设置了列头,并向模型中添加了一些数据。最后,我们将模型设置给视图,并调整了列宽和行高以适应内容。最后,我们显示了表格视图窗口并启动了Qt的应用程序事件循环。
阅读全文