1

Qtでのプログラミングは初めてです。

メイン画面と 3 つのウィンドウで構成されるプログラムを実行しています。これは、パラレル ポートで無線制御されたトラックの運転に基づいています。

私の問題は、2番目のウィンドウで特定の値を入力し、txtファイルに保存することです(適切にチェックして保存しました)。問題は、データ生成ファイルを読み取って印刷するように設計された 3 番目のウィンドウに移動しても、プログラムを離れてプログラムに戻るまで表示されないことです。

データを保存した後、ファイルを閉じてから開いて読み取りますが、その時点では閉じず、プログラムを終了するときだけです。

添付のプログラム ファイルの下。

リンク!

どうもありがとう、私の英語でごめんなさい!

注:PCポートを処理するため、プログラムを実行する(Ubuntuで動作する)ユーザー権限で入力することを忘れないでください。

4

1 に答える 1

0

このqt の例から:

bool MainWindow::saveFile(const QString &fileName)
{
    QFile file(fileName);
    if (!file.open(QFile::WriteOnly | QFile::Text)) 
    {
            QMessageBox::warning(this, tr("Application"),
                          tr("Cannot write file %1:\n%2.")
                          .arg(fileName)
                          .arg(file.errorString()));
        return false;
    }

    QTextStream out(&file);
#ifndef QT_NO_CURSOR
QApplication::setOverrideCursor(Qt::WaitCursor);
#endif
out << textEdit->toPlainText();
#ifndef QT_NO_CURSOR
QApplication::restoreOverrideCursor();
#endif

    setCurrentFile(fileName);
    statusBar()->showMessage(tr("File saved"), 2000);
    return true;
}

これを定義して、ユーザーにファイル名を尋ねるスロットを定義できます (QFileDialog が最も簡単な方法です)。ユーザーが受け入れる場合 (セーブデータの実行をキャンセルしない場合)、ユーザーファイル名でこのメソッドを呼び出します。statusBar()->showMessage(); など、いくつかのものをドロップできます。ステータスバーなどがない場合...

于 2012-10-16T14:31:02.050 に答える