我是一名学生程序员,使用 QT 开发和申请工作。目前我正在开发保存功能,其中数据从表中获取并保存到文件中。当我尝试将数据写入列时遇到了一些麻烦。不要混淆任何人;我的问题是从数据表中保存时格式化文本;不读它。因此,目前当从我的表中保存数据时,它会保存到一个文件中,如下所示:
0 0.048 300 101325 0 0
10 0.048 300 101325 0 0
我需要它看起来像这样
0 0.048 300 101325 0 0
10 0.048 300 101325 0 0
在研究期间,我从 c++ 中的iomanip库中遇到了 setw,它设置了填充数据的最少字符数,然后将其余字符用作填充。听起来很完美吧?问题是我不能让它与除了 cout 之外的任何东西一起工作;这不是我需要的。在写出之前,我需要它基本上将空格附加到我的字符串。
我也觉得 Qt 可能应该有一些东西来帮助我完成我需要的东西(更容易)。在引用QString 文档、QStringList Doucmentation以及最重要的QTextStream 文档之后,我似乎无法找到这个成员函数。
目前我的保存功能如下所示:
QTextStream data(&saveFileAsscf);
QStringList tmpList;
for (int x = 0; x<ui->tableWidgetReaderTable->rowCount(); x++)
{
strList.clear();
for(int a = 0; a < ui->tableWidgetReaderTable->columnCount(); a++)
{
strList << ui->tableWidgetReaderTable->item(x,a)->text();
}
data <<strList.join(" ") << "\n";
}
我很确定 setFieldWidth 是我从QTextStream 文档中得到的答案。但我无法让它正常工作。试过:
data.setFieldWidth(13) << strList.join(" ") << "\n";
我希望这对某人来说是一个简单的答案,我只是遇到了一些作家的障碍,但在完成这个过程中会得到任何帮助。感谢您阅读我的帖子,我感谢任何有助于弥合此处差距的帮助!