QtCreatorを使用して、Mac上で非常にシンプルなアプリを開発しています。
これはコンソールアプリケーションであり、ユーザーにその名前を入力してもらい、その名前を表示します。コードは次のとおりです。
#include <iostream>
int main(int ArgC, char* ArgV[])
{
char Name[1000];
std::cout << "Type your name : ";
std::cin >> Name;
std::cout << "Hello " << Name << "\n";
return 0;
}
QtCreatorでこのアプリを実行すると、「アプリケーションの出力」タブに「名前を入力してください:」という文字列が表示されます。しかし、テキストを入力してEnterキーを押しても、何も起こりません。
どうしましたか ?
私は解決策を見つけました。 Qt Creator 1.3.0(Mac OS X)で、私がしなければならないことは次のとおりです。
/usr/x11/bin/xterm -e
。今、すべてが正常に動作しています!
[プロジェクト]-> [実行設定]に移動し、[ターミナルで実行]がオンになっていることを確認します。
ところで:
std::cin >> Name;
おそらくあなたが望むものではありません。単一のトークン(通常は名のみ)を読み取ります。 getline 、または string version をご覧ください。
Jeromesソリューションが適切です。私はあなたに別の選択肢を与えることができますが。 X11を(何らかの理由で)同じ位置(QtCreator-> Preferences-> Environment:General:Terminal)で使用したくない場合は、次のようにTerminalアプリケーションへのパスを指定できます:/ Applications/Utilities/Terminal.app/Contents/MacOS/Terminal
楽しい!
Windows向けのソリューション。
.proファイルに以下を追加します。
QT -= core gui
TEMPLATE = app
CONFIG += console
[プロジェクト]-> [実行設定]に移動し、[ターミナルで実行]がオンになっていることを確認します。
MacベースのQt 2.4.0の場合、[ようこそ]、[編集]、[デザイン]と同じ垂直線に沿った[デバッグ]の下にある[プロジェクト]垂直タブをクリックします。 [ターゲット]-> [実行]で、[ターミナルで実行]がオンになっていることを確認します。
"Macでターミナルエミュレータ 'xterm'を起動できません"問題が発生したため、settings、Environmentに移動して[ Terminalテキストフィールドの横にあるReset "ボタン。
何らかの理由でデフォルトで「xterm -e」と表示されましたが、リセット後は「/ usr/X11/bin/xterm -e」の絶対パスになりました。
その後、コンソールアプリは正常に動作しました。