Qt Widgets シグナルとスロットの編集モード

Qt Widgets Designer のシグナルとスロットの編集モードでは、Qt のシグナルとスロットのメカニズムを使って、フォームのオブジェクト同士を接続することができます。ウィジェットとレイアウトは、Qt Widgets Designer が提供する互換性のあるシグナルとスロットのメニューを使用して、直感的な接続インターフェイスで接続できます。フォームが保存されると、すべての接続が保存され、プロジェクトがビルドされたときに使用できるようになります。

Qt のシグナルとスロットのメカニズムの詳細については、シグナルとスロットのドキュメントを参照してください。

オブジェクトの接続

オブジェクトの接続を開始するには、Editメニューを開き、Edit Signals/Slotsを選択するか、F4キーを押して、シグナルとスロットの編集モードに入ります。

フォーム上のすべてのウィジェットとレイアウトを連結することができます。ただし、スペーサーはレイアウトのスペーシングのヒントを与えるだけなので、他のオブジェクトと接続することはできません。

ハイライトされたオブジェクト

接続に使用できるオブジェクトの上にカーソルがある場合、そのオブジェクトはハイライトされます。

接続を行うには、マウスの左ボタンを押し、接続したいオブジェクトに向かってカーソルをドラッグします。そうすると、接続元のオブジェクトからカーソルまで線が伸びます。カーソルがフォーム上の他のオブジェクトの上にある場合、線は接続先のオブジェクトを指す矢印で終わります。これは、マウスボタンを離すと2つのオブジェクトが接続されることを示しています。

接続パスをドラッグしている間は、Escを押すことでいつでも接続を放棄することができます。

接続の作成

接続パスは、カーソルがフォーム上を移動するにつれて形を変えます。カーソルがオブジェクトの上を通過すると、そのオブジェクトはハイライトされ、シグナルとスロットの接続に使用できることを示します。接続を行うには、マウスボタンを放します。

Configure Connectionダイアログ(下図)が表示され、使用できるソースオブジェクトのシグナルとデスティネーションオブジェクトのスロットが表示されます。

接続を完了するには、ソースオブジェクトのシグナルとデスティネーションオブジェクトのスロットを選択し、OKをクリックします。接続を中止する場合は、Cancelをクリックします。

Note: Show all signals and slotsチェックボックスが選択されている場合、ソースオブジェクトから利用可能な全てのシグナルが表示されます。そうでない場合、QWidget から継承されたシグナルとスロットは非表示になります。

フォーム上のオブジェクト間の接続はいくつでもできます。オブジェクトからのシグナルをフォーム自体のスロットに接続することも可能です。その結果、多くのダイアログのシグナルとスロットの接続は、Qt Widgets Designer内で完全に設定することができます。

フォームへの接続

オブジェクトをフォームに接続するには、カーソルをフォームの上に置いてマウスボタンを離します。接続の終点は電気的な "グラウンド "シンボルに変わります。

接続の編集と削除

デフォルトでは、接続パスは、接続に関係する信号とスロットを示す2つのラベルで作成されます。これらのラベルは通常、接続の線に沿って配置されます。接続パスの両端にある赤い四角をドラッグすると、ホスト・ウィジェット内でラベルを移動できます。

シグナル/スロットエディタ

接続で使用するシグナルとスロットは、設定後に変更することができます。接続が設定されると、Qt Widgets Designerのシグナル/スロット・エディタに表示され、さらに編集することができます。また、接続パスまたはそのラベルをダブルクリックしてConnection Dialogを表示することでも、シグナル/スロット接続を編集できます。

接続の削除

接続のパスセグメントをクリックすると、接続全体を選択することができます。一度選択した接続はDeleteキーで削除でき、UI ファイルに設定されることはありません。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.