Qt5再入門: Qt DesignerでNotes C APIコンバートシミュレーターダイアログを作る(その11/レイアウト)
今回は、Qtウィジェットのレイアウトについて紹介します。
QVBoxLayout: 垂直方向にウィジェットを並べます。
QHBoxLayout: 水平方向にウィジェットを並べます。
QGridLayout: 縦横、格子状にウィジェットを並べます。
QFormLayout: 横2列で縦にウィジェットを並べます。
百聞は一見にしかず、次の動画をご覧ください。
補足をすると、「Buddy」機能はフォームレイアウトに限った話ではなく、どのレイアウトでも、またレイアウトを使っていなくても、QLabelとウィジェットが結びついていて、QLabelのテキスト内にアンパサンドがあれば、アクセスキーとして機能します。
フォームレイアウトはラベルと入力ウィジェットを効率的にレイアウトするのが目的なので、Buddy連携も含め、それらを支援するためにQt Designerに実装してくれたのだと考えています。
まとめ
レイアウトは、入力ウィジェットを配置するだけでなく、レイアウトの入れ子も可能なので、複雑なレイアウトも可能です。また動画内にも出てきた「Spacer」を活用することで、ウィンドウやダイアログを広げたり縮めたりしてもウィジェット同士の間隔を保ち、柔軟にレイアウトしてくれる機能もあります。