14

QApplicationを開発していますが、アプリケーションを再構築して再実行する前に、アプリケーションを閉じるのを忘れることがよくあります。これは、10分前にビルドされたアプリケーションのインスタンスを誤って見て、30秒前からコードが変更されることを期待している場合に問題になります。

また、手をマウスまで動かし、実行中のアプリケーションまでマウスを動かし、再構築するたびに閉じる必要があり、怠惰で欲しくないので、面倒です。それをするために。

QApplicationのビルドまたは実行を再開したときに、QApplicationを閉じるようにQt Creatorを構成することはできますか?

4

5 に答える 5

22

QtCreatorでそれを行うオプションがあります:

  1. 環境設定を開く=>ビルドと実行=>一般
  2. 「ビルドする前にアプリケーションを停止する」を「なし」から「同じプロジェクト」に変更します</li>
于 2016-06-02T10:51:55.717 に答える
6

後でここでつまずく可能性のある人にとって、これを行う簡単な方法は、「killall」コマンド(tangbongbongによって提案された)を配置することです。これは、Projects(ctrl + 5)-> BuildandRunの下の最初のビルドステップです。

以下のスクリーンショットでは、実行可能ファイルの名前は「Tutano」であり、強制終了されるように-9オプションを追加しました。

スクリーンショット -申し訳ありませんが、私はここで新しいので、画像を直接投稿することはできません

于 2014-05-07T14:03:28.883 に答える
5

ビルドステップの上部に次のカスタムプロセスステップを追加してみてください

ここに画像の説明を入力してください

于 2014-07-17T10:18:11.383 に答える
2

私はWindowsを使用しているので、killall動作しません。しかし、私はこれを理解しました(Julienがスクリーンショットとして投稿したのと同じフォームに値を入力してください):

指示:taskkill

引数:/FI "STATUS eq Running" /IM APPNAME.exe /F

APPNAMEもちろん、アプリケーションの名前に置き換える必要があります。これ/FI "STATUS eq Running"は、アプリケーションがまだ実行されていない場合でも、qmakeがこのビルド前のステップの後に続行できるようにするフィルターです(そうでない場合は、強制終了して終了するプロセスが見つかりません)。アプリケーションがなければ、/F少なくとも私にとっては、アプリケーションは閉じられません。

ただし、アプリケーションのトレイ領域にアイコンがある場合、アイコンは消えません。アイコンの上にマウスを移動すると、アイコンが削除されます。

于 2015-12-24T14:14:31.623 に答える
1

はい。

1つの方法は、既存の実行中のプロセスを強制終了して新しいプロセスを開始する非常に単純なスクリプトを作成することです。プログラムの実行可能ファイルがFooBarProgramQtによって作成されたビルドディレクトリに移動し、このファイルを作成する場合FooBarProgramLauncher

#!/bin/bash

killall FooBarProgram
./FooBarProgram

次に、Qtプロジェクトの構成を変更して、プログラムを直接実行する代わりにランチャーを実行します。

  1. QtCreatorでプロジェクトを開きます
  2. 左側のペインから「プロジェクト」を選択します
  3. まだ選択されていない場合は、[ビルドと実行]タブを選択します
  4. [実行]サブタブを選択します
  5. [実行]見出しの下にある[追加]ボタンをクリックし、[カスタム実行可能ファイル]を選択します
  6. 「コマンド」行で、「参照」ボタンをクリックして、FooBarProgramLauncher

これで、Qtにプログラムを実行するように指示するとFooBarProgramLauncher、代わりにプログラムが実行され、実行中のインスタンスがすべて強制終了FooBarProgramされてから、新しくコンパイルされた実行可能ファイルが実行されます。

于 2013-02-28T05:10:47.893 に答える