2012/01/15

[qt]サイズ調整する際には、親ウィンドウも含めたレイアウトが必要

Qt Creatorを使っていて、よくわからないことがある。
それは「サイズ調整」の動作だ。
ウィジェットを配置して、さあウィンドウのサイズを自動調整だ、と実行すると、変なサイズになってしまう。

 

image

image

ああ・・・


しかしQt日本語サイトでの説明も、同じような感じで使っているのだが、ちゃんとサイズが合うようだ。
http://labs.qt.nokia.co.jp/2010/08/19/qt-designer.html

確かめよう。

image

image

あ、うまくいった!

 

何が違うかというと、レイアウトだ。
最初の例では、レイアウトを使用していない。
また、レイアウトを使用する場合でも、中に配置したウィジェットに対してはレイアウトを使用しているのだが、親ウィンドウにはレイアウトを設定していなかったのだ。


組込みでアプリを作る場合は、画面サイズも固定されていることが多いので、自動調整する処理自体を省いて高速化させたいこともあろう。
レイアウトすらも削って、軽量化させたいかもしれない。

そう思って、自動調整後にレイアウトを削除してみた。
・・・うーん、ウィジェットの幅(ウィンドウじゃなくて)が変わるなあ。
QWidgetのgeometryが元に戻ってしまうようだ。
レイアウト削除してもgeometryを残す方法はないものかねぇ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。