1

行編集でqt guiプッシュボタンを作成する必要があります。ボタンを押すと、フォルダを参照してインポートしたいテキストファイルを見つけることができます。テキストファイルは後で解析されます。コンボボックスを使用したいのですが、GUI を使用してフォルダーを参照する方法がわかりません。おそらくQDir関連のようなものがうまくいくはずですが、助けてください。

基本的に、プッシュボタン/コンボボックスを使用してテキストファイルをインポート/開きたいです。

4

2 に答える 2

4

あなたが探しているのはQFileDialogです

clicked()の信号QPushButtonを実行するスロットに接続します。

QString fileName = QFileDialog::getOpenFileName(this,
    tr("Open Text file"), "", tr("Text Files (*.txt)"));

次に、たとえばQFileandQTextStreamを使用してファイルを解析できます。

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];
}
于 2013-08-30T03:32:51.570 に答える
0

QFileDialogを使用したい場合がありますが、その QtDocument にはいくつかの例があります。

于 2013-08-30T03:32:45.787 に答える