web-dev-qa-db-ja.com

Qtデザイナー:ボタンにカスタムスロットとコードを追加する方法

Qt4デザイナーを使用していて、[はい]ボタンをクリックすると、コードが実行されるようにしたいと考えています。そして、「いいえ」をクリックすると、他のコードが実行されます。どうすればできますか?

19
pol
  1. _Edit Signal/Slots_ツールをクリックします。

  2. ボタンの接続を作成します。このためには、マウスの左ボタンでボタンを押して、デザイナーでボタンを選択します。メインウィンドウの任意の場所にマウスを移動して、メインウィンドウとの接続を作成します(アース接続のある赤い線のようなものです)。

  3. マウスボタンを離すと、_Configure Connection_ダイアログが表示されます。

  4. このダイアログで、左側のテキストコントロール(送信者)から信号を選択します(例:pressed())。

  5. 次に、右側のテキストコントロール(レシーバー)でeditを押します。 _Signals/Slots of MainWindow_のダイアログが表示されます。

  6. スロットパネルに新しいスロット(緑の十字)を追加します。テキストslot1()が表示されます。それをダブルクリックして行を編集し、代わりに関数の名前doit_when_yes_ispressed()を記述します。受け入れます。

  7. これで、_Configure Connection_ダイアログの右側のテキストコントロールに関数が表示されます。選択して同意します。

  8. デザイナーでは、ウィジェットで信号と関数を確認できます。

33
joaquin
  • ウィジェットを右クリック
  • 「スロットに移動...」を選択します
  • 信号を選択して[OK]をクリックします

その信号のカスタムスロット宣言と定義が* .cppファイルと* .hファイルに追加されます。その名前は自動的に生成されます。

pd:申し訳ありませんが、Python&QtDesigner自体についての質問であることに気づきませんでした。QtCreatorIDEのデザイナーモードを考えていました。しかし、これはまだQt/C++情報を探している人に役立つかもしれないので、私は答えを残します。

5
volvpavl