Windowsコマンドライン(cmd
)から直接Qtアプリケーションを実行すると、GUIが実行されている間もすぐにシェルに戻ります。私は親が終了する前に2番目のプロセスを作成すると仮定します。私は、バッチファイルやPythonスクリプトから、間接的にかかわらず、Qtアプリケーションを実行する場合コマンドラインから実行するとQtアプリケーションがブロックされない
、それは同じように動作しません。それブロックアプリケーションが実際に終了するまで:
は、この標準のQt振る舞いですか?私はドキュメンテーションや他の場所でそれについて言及することはできません。カスタマイズすることはできますか?コマンドラインから実行するとアプリケーションが常にブロックされることを望みます。
私はそれがコンソール出力のコンテキストに関係していると思います。修正はQtではなくプロセスの起動に固有のものでなければなりません。 – AlexanderVX
なぜアプリケーションをインタラクティブなプロンプトでブロックする必要がありますか? 'AttachConsole(ATTACH_PARENT_PROCESS)'を介して親コンソールに接続していますか?さもなければ、私がこれについて見ることができる唯一の理由は、 '%errorlevel%'に終了コードを設定することです。ほとんどの場合、GUIアプリケーションや 'start'を介して新しいコンソールを作成するコンソールアプリケーションの場合、CMDを待機させるのは意味をなさないので、デフォルトの動作がそこにあります。 – eryksun