Qt Widgets Designer のクイック・スタート
Qt Widgets Designerを使用するには、4つの基本的なステップがあります:
- フォームとオブジェクトを選択する
- オブジェクトをフォームに配置する
- シグナルをスロットに接続する
- フォームをプレビューする
例えば、赤、緑、青(RGB)の値を操作するのに必要なコントロールを含む小さなウィジェット(上のスクリーンショットを参照)をデザインしたいとします。
フォームの選択 まず、新規フォームダイアログから ウィジェットを選びます。 |
フォームにウィジェットを配置する つのラベル、3つのスピンボックス、3つの垂直スライダーをフォームにドラッグします。ラベルのデフォルトテキストを変更するには、ラベルをダブルクリックするだけです。配置の仕方は自由です。 |
プログラムでこのように正確にレイアウトするためには、これらのウィジェットをレイアウトに配置する必要があります。これを3つのグループに分けて行います。RED "ラベルを選択します。次に、Ctrlを押しながら、対応するスピンボックスとスライダーを選択します。フォームメニューで、グリッドにレイアウトを選択します。
他の2つのラベルと、それに対応するスピンボックスとスライダーも同様にステップを繰り返します。
次のステップでは、3つのレイアウトを1つのメインレイアウトにまとめます。メインレイアウトは、トップレベル・ウィジェット(この場合、QWidget )のレイアウトです。トップ・レベル・ウィジェットがレイアウトを持っていることが重要です。そうでないと、ウィンドウのサイズが変更されたときに、ウィンドウ上のウィジェットのサイズが変更されません。レイアウトを設定するには、3つのレイアウト以外のフォーム上の任意の場所で右クリックし、[Lay Out Horizontally]を選択します。また、「グリッドでレイアウト」を選択しても、同じレイアウトになります(下図)。
注意: メインレイアウトはフォーム上に表示されません。メインレイアウトがインストールされているか確認するには、フォームのサイズを変更してみてください。また、Qt Widgets Designer のオブジェクトインスペクタを見ることもできます。トップレベルのウィジェットにレイアウトがない場合、その横に壊れたレイアウトのアイコン が表示されます。
スライダーをクリックして特定の値までドラッグすると、スピンボックスにスライダーの位置が表示されます。この動作を実現するには、スライダーのvalueChanged() 信号をスピンボックスのsetValue() スロットに接続する必要があります。また、スピンボックスのvalueChanged() 信号をスライダーのsetValue() スロットに接続するなど、逆の接続も必要です。
これを行うには、F4キーを押すか、EditメニューからEdit Signals/Slotsを選択して、Edit Signals/Slotsモードに切り替える必要があります。
信号をスロットに接続する スライダーをクリックし、カーソルをスピンボックスに向かってドラッグします。下図のConfigure Connectionダイアログがポップアップします。正しいシグナルとスロットを選択し、OKをクリックします。 |
スピンボックスをクリックし、カーソルをスライダーの方にドラッグして、スピンボックスのvalueChanged ()信号をスライダーのsetValue ()スロットに接続する、という手順を(逆の順序で)繰り返します。
以下のスクリーンショットを参考に、正しいシグナルとスロットを選択してください。
RGBコントローラーの "RED "コンポーネントのオブジェクトをうまく接続できたので、"GREEN "と "BLUE "コンポーネントも同様に接続してください。
RGBの値の範囲は0から255なので、スピンボックスとスライダーをその特定の範囲に制限する必要があります。
ウィジェットのプロパティを設定する 最初のスピンボックスをクリックします。プロパティエディタ内に、QSpinBox'のプロパティが表示されます。maximum プロパティに "255" を入力します。次に、最初の垂直スライダーをクリックすると、QAbstractSlider のプロパティが表示されます。同様に、maximum プロパティに「255」を入力します。残りのスピンボックスとスライダーもこの操作を繰り返します。 |
Ctrl + R を押すか、フォームメニューからプレビューを選択します。スライダーをドラッグしてみましょう - スピンボックスもその値を反映します (逆も同様です)。また、子ウィジェットを管理するために使用されるレイアウトが、異なるウィンドウサイズに対してどのように反応するかを確認するために、サイズを変更することもできます。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。