しぷぜん

素人プログラマなおいのStep Zero to Oneブログ

Qt Designerでウィンドウとウィジェットのサイズを追従させる方法

こんにちは、軽くググってもコードで記述されたものばっかり出てくるので、Qt Designerってそんなに使われてないの?と嘆いているなおいです。

 

今回はQt Designerで少しばかりハマった所を記事にします。ハマった部分はWindowのサイズと各Widget(テキストボックスとかボタンとか)のサイズ連動の部分です。 

 

私はC#から入ったのでオブジェクトは配置して、プロパティをいじるものと思ってるのでコードで見た目をどうにかするというものに蕁麻疹が出てくるタイプです。(最近そうも言ってられなくなってきてますが・・・)

どうしてもQt Designerでどうにかしたかったので、無駄に調べました。

 

で、見つけました。そして思った以上に簡単でした。簡単すぎてきっと忘れるなと思ったので備忘録としておいておこうと思った次第です。

 

すごく項目数少ないことからも分かると思いますが、本当に簡単でこれに数時間かけたのかと涙を流しながら書いてます。

 

1. まず配置

好きなWidgetを好きに配置していきます。

今回は、テキストエディットとボタンを二つ置いときます。

 

f:id:ct-innovation01:20170905162500p:plain f:id:ct-innovation01:20170905162520p:plain

もちろん今のままだと、こんな感じでウィンドウサイズを変えても連動せず非常に悲しい結果になります。

2.オブジェクトインスペクタをいじる 

起動したら右側の上に表示されているはずの「オブジェクトインスペクタ」

f:id:ct-innovation01:20170905163428p:plain

このメインウインドウ(一番上のオブジェクト)を右クリックすると[レイアウト]というのがあるので、この中からいい感じのものを選択します。(今回は垂直に並べるを選択しています。)

f:id:ct-innovation01:20170905163528p:plain

そうすると、勝手にフォームを並べ替えてくれます。

ちなみに、ボタンは横が良かったという場合は、先にボタンを二つ選択した状態でメニューバーの下にある「水平に並べる」というアイコンを選択しておくといいです。

 

これだけ。

 

え?これだけ?ってなりました。

 

一応結果を確認しておきますが以下の通り。

f:id:ct-innovation01:20170905161215g:plain

しっかり連動しておる。