web-dev-qa-db-ja.com

Qt Creator内からボタンのOnClickイベントハンドラーを定義する方法は?

Visual Studioでは、Windowsフォームを設計するときに、ボタンをダブルクリックすることで、ボタンのOnClickイベントハンドラーを簡単に追加できます。 QtCreatorで同じことを行うことはできますか?ボタンのClickイベントをどのように処理する必要がありますか?必要なコードをゼロから手動で記述することが唯一のオプションですか?

22
Meysam

デザイナーでは、

  1. フォームにプッシュボタンを追加する
  2. プッシュボタンを右クリック
  3. 「スロットに移動...」を選択します
  4. 「clicked()」シグナルを選択
  5. やった

用語は.NETとは異なるため、この場合は信号とスロットについて説明しています。QPushButtonがクリックされたときに出力される信号は、OnClickではなくclicked()と呼ばれます。

信号とスロットに関するQtのドキュメント を読むことをお勧めします。

44
user362638

ヘッダーファイル:

private slots: void exit_app();

xyz.cppで:

connect(ui.button_name, SIGNAL(clicked()), this, SLOT(exit_app()));

sLOTが呼び出すexit_app()funcを定義します。

void QtTest2::exit_app() { QApplication::exit(); }

2
Mujeeb Ishaque