大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

Qtプログラミング – ソートダイアログ

株式会社クローバーフィールドの経営理念
著者:津路高広
公開日:2019/08/20
最終更新日:2019/08/20
カテゴリー:技術情報
タグ:

津路です。
こんにちは、昨日から突然の秋雨前線でダレ気味です。
今回は、ボタンを押すことで、追加のソート条件ボックスが表示されるダイアログを作ってます。

まずは、designer コマンドでQt Designerを起動し、Dialog with Buttons Right テンプレートを選択します。
これで、右側に OK/Cancel ボタンが配置されます。これは、ButtonBoxで、OK/CancelがStandardButtonsの要素として登録されています。
その下側に、ウィジェットボックスからPushButtonを持ってきて、More ボタンとして配置。

次に、左側のデザインです。
グループボックスを配置して、その配下に、ソート条件を選択できるように、コンボボックスをラベルの右に配置。
最初、グループボックスのtitleが、ラベルの上に重なって表示されて困りました。
普通に枠が表示されて、titleが枠に挟まれる状態を期待したのに。。グループボックスのプロパティを色々試しましたが、
よくわからず、と思っていると、コンテキストメニューからレイアウト->格子状に並べるを選ぶと、
枠にはならないですが、配置がよくなりました。更に、レイアウト->サイズ調整を選びます。

さて、このグループボックスをコピーします。
ctrlキーを押しながらグループボックスをマウスで拾ってそのまま下にドローすると、複製配置できます。
新たなグループボックスに名前を振ります。

コンボボックスの要素を作成するには、コンテキストメニューから、「アイテムを編集」を選択します。

できたダイアログのフォームを整列するため、フォームを選択して、コンテキストメニュー->レイアウト->「格子状に並べる」を選びます。

次に「タブオーダーを編集」するモードに入ります。コンボボックスを順にクリック、次にOK/Cancel、最後にmoreボタンをクリックします。

次に、シグナルとスロットを接続します。Ok/Cancelボタンとaccept/rejectは、すでに接続されています。
「シグナルとスロットを編集」モードに入ります。
Moreボタンとは、2つ目のグループボックスの表示スロットと接続します。
マウスで、ボタンからグループボックスに向かって矢印をドローすると、ダイアログが出て、SetVisible(bool)スロットに接続します。

デザインを保存します。

出来上がったデザインを利用するため、このダイアログとQDialogを継承したクラスを宣言します。

    上に戻る