スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Qt Creatorでアクションとスロットを接続

Qt Creatorでなるべく自動生成を活用してプログラムを作成したいので、そのためのtips。
最初から画面上に見えているウィジェット間のシグナルとスロットの接続はDesigner画面で簡単にできますが、メニューの項目(QAction)の場合、メニューを開いたままDesignerモードに入れないので、マウスでドラッグして接続というわけにいきません。

手書き以外に、二つくらい方法があるようです。

1. Designer画面でシグナル/スロットエディタを使う。
画面下部のシグナル/スロットエディタエリアの左上隅に、緑色の「+」アイコンがあるので、これをクリックして新規の接続を追加します。一行に4つのカラムがありますが、基本的にconnectで与える引数と同等の情報になります。ただしこの方法では一つ問題があって、自分で追加したプライベートスロットが、スロットの欄に表示されてこないようです。この場合次の方法を用いることになります。

2. Designer画面でアクションエディタを使う。
同じくDesigner画面下部の、アクションエディタを使います。ここには、自分でアプリケーションのメインクラスの.hファイルで宣言したアクションがすべて表示されるので、接続を作成したいアクションを右クリックして、メニューから「スロットへ移動」を選択します。

「スロットへ移動」ポップアップ

そして、接続したいシグナル(メニュー項目の選択ならtriggered()か)を選んでOKすると、自動的に、"on_アクション名_triggered()という名前のスロットが生成され、メインウィジェットのcppファイルに移動してその中を記述することができます(.hファイルにも宣言が自動的に追加されている)。

出典
How to connect menu click with action in Qt Creator?


プロフィール

GM3D

Author:GM3D
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。