行編集でqt guiプッシュボタンを作成する必要があります。ボタンを押すと、フォルダを参照してインポートしたいテキストファイルを見つけることができます。テキストファイルは後で解析されます。コンボボックスを使用したいのですが、GUI を使用してフォルダーを参照する方法がわかりません。おそらくQDir関連のようなものがうまくいくはずですが、助けてください。
基本的に、プッシュボタン/コンボボックスを使用してテキストファイルをインポート/開きたいです。
行編集でqt guiプッシュボタンを作成する必要があります。ボタンを押すと、フォルダを参照してインポートしたいテキストファイルを見つけることができます。テキストファイルは後で解析されます。コンボボックスを使用したいのですが、GUI を使用してフォルダーを参照する方法がわかりません。おそらくQDir関連のようなものがうまくいくはずですが、助けてください。
基本的に、プッシュボタン/コンボボックスを使用してテキストファイルをインポート/開きたいです。
あなたが探しているのはQFileDialogです
clicked()
の信号QPushButton
を実行するスロットに接続します。
QString fileName = QFileDialog::getOpenFileName(this,
tr("Open Text file"), "", tr("Text Files (*.txt)"));
次に、たとえばQFile
andQTextStream
を使用してファイルを解析できます。
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
QTextStream in(&file);
while (!in.atEnd())
{
QString line = in.readLine();
process_line(line);
}
編集
に格納する 31 個の float が各行に含まれているファイルを解析する場合は、float data[31]
最初に次のクラスを作成します。
struct FloatLine { float data[31]; };
次に、すべての行を次のように に保存しますQList<FloatLine>
。
QList<FloatLine> floatLines;
QTextStream in(&file);
while (!in.atEnd())
{
QString line = in.readLine();
QTextStream lineStream(&line);
floatLines << FloatLine();
for(int i=0; i<31; i++)
lineStream >> floatLines.last().data[i];
}
QFileDialogを使用したい場合がありますが、その QtDocument にはいくつかの例があります。