Qt 文件流 保存表格
时间: 2023-08-23 19:06:52 浏览: 182
在Qt中,可以使用`QTextStream`类来进行文件的读写操作,使用`QTableWidget`类来显示和编辑表格数据。下面是一个将表格数据保存到文件中的示例代码:
```
#include <QFile>
#include <QTextStream>
#include <QTableWidget>
void saveTableToFile(QTableWidget *table, const QString &filename)
{
// 打开文件
QFile file(filename);
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
return;
// 创建文本流
QTextStream out(&file);
// 写入表头
for (int i = 0; i < table->columnCount(); ++i) {
out << table->horizontalHeaderItem(i)->text() << "\t";
}
out << "\n";
// 写入数据
for (int i = 0; i < table->rowCount(); ++i) {
for (int j = 0; j < table->columnCount(); ++j) {
QTableWidgetItem *item = table->item(i, j);
if (item && item->text().length() > 0) {
out << item->text() << "\t";
} else {
out << "\t";
}
}
out << "\n";
}
// 关闭文件
file.close();
}
```
该函数接受一个`QTableWidget`指针和一个文件名作为参数,将表格数据保存到指定的文件中。在保存数据时,先写入表头,然后逐行写入数据。每一行数据中,用制表符`\t`分隔不同的单元格,每行末尾添加一个换行符`\n`。
在使用该函数前,需要确保表格中已经有数据,并且表头已经设置好。
阅读全文