-3

私は QT 開発と std ライブラリの両方に不慣れです。

現時点では、単純なコンソール アプリケーションを作成しようとしていますが、これは単純ですが、クロス プラットフォームでなければなりません。Linux、Windows、および Android で動作する必要があります。

私は std::cout と std::cin を使用してコンソールに読み書きすることにかなり慣れています。QTライブラリで同じことを理解しようとしています。

QT ライブラリを使用して、ユーザーと対話する方法はありますか? std::cout と std::cin を使用できません。

スタックオーバーフローで回答を探しましたが、見つけたのはqDebugを使用するように言っている人だけですが、それは私が必要としているものではなく、ユーザーとのやり取りが必要です。

4

1 に答える 1

1

Qtは主にGUIに使用されますが、一部のQtクラスを接続してstdinやstdoutのように動作させることができます。

私は少なくともこれらの3つを読み、本当にstd::cinとstd::coutを使用したくない場合は、同じ方法でQTextStreamオブジェクトを使用します。

QDebug

QIODevice

QTextStream

詳細ドキュメントのコードのチャンクは次のとおりです。

QTextStream stream(stdin);
QString line;
do {
    line = stream.readLine();
} while (!line.isNull());

QFileのドキュメントにもいくつかの優れた情報があります。

stdライブラリ関数の代わりにQTextStreamを使用することで私が目にする唯一の本当の利点は、後でOSコンソールではなくGUI(後で)の独自の組み込みコンソールに接続することです。

ユーザーから設定とセットアップ情報を取得するもう1つの方法は、QSettingsを使用し、デフォルトの形式をINIに設定し、 QDesktopServices :: openUrl()を使用してINIファイルを開くことです。

于 2012-09-25T22:57:24.340 に答える