私は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";
私はこれが誰かにとって簡単な答えであることを望んでおり、私はちょうどいくつかのライターズブロックに遭遇していますが、これを達成するためにどんな助けも必要です。私の投稿を読んでくれてありがとう、そしてここのギャップを埋めるために貢献してくれた助けに感謝します!