在qt中.csv文件导入qtableview
时间: 2023-12-30 17:06:43 浏览: 349
在Qt中,你可以按照以下步骤将.csv文件导入QTableView:
1. 创建一个QStandardItemModel对象,用于存储.csv文件中的数据
2. 读取.csv文件中的数据,并将数据存储到QStandardItemModel对象中
3. 创建一个QTableView对象,用于显示数据
4. 将QStandardItemModel对象设置为QTableView对象的model
以下是示例代码:
```cpp
#include <QStandardItemModel>
#include <QFile>
#include <QTextStream>
#include <QTableView>
void MainWindow::loadCsvFile(QString filePath)
{
// 创建一个QStandardItemModel对象
QStandardItemModel* model = new QStandardItemModel();
// 读取.csv文件中的数据,并将数据存储到QStandardItemModel对象中
QFile file(filePath);
if (file.open(QFile::ReadOnly | QFile::Text)) {
QTextStream in(&file);
while (!in.atEnd()) {
QString line = in.readLine();
QStringList fields = line.split(",");
QList<QStandardItem*> items;
for (QString field : fields) {
items.append(new QStandardItem(field));
}
model->appendRow(items);
}
file.close();
}
// 创建一个QTableView对象,用于显示数据
QTableView* tableView = new QTableView();
// 将QStandardItemModel对象设置为QTableView对象的model
tableView->setModel(model);
// 设置表格为自适应大小
tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
tableView->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);
// 将QTableView添加到主窗口中
setCentralWidget(tableView);
}
```
在上面的示例代码中,我们首先创建了一个QStandardItemModel对象,然后使用QFile和QTextStream读取.csv文件中的数据,并将数据存储到QStandardItemModel对象中。接着,创建一个QTableView对象,并将QStandardItemModel对象设置为QTableView对象的model,最后将QTableView添加到主窗口中。运行程序后,就可以看到.csv文件中的数据显示在了QTableView中。
阅读全文