3

QStackedWidgetのページにウィジェットを配置して、親のQStackedWidgetのサイズが変更されたときに自動的にサイズを変更しようとしています。この単純なタスクは、QtCreatorでは実行できないようです。ページにレイアウトを追加しても何も起こらないようです。レイアウトは設計されたサイズのままで、サイズは変更されません。これは、レイアウトが子としてページウィジェットに追加されており、ページウィジェットに直接アタッチされていないためです(私は思いますか?)。実際にページにレイアウトを追加する方法はないようです。

Qt Creatorを使用してQStackedWidgetでウィジェットのサイズを変更するにはどうすればよいですか?

補足として、Qtがレイアウトシステムを放棄することを本当に望んでいます。アンカーベースのシステムよりもはるかに使いにくいです。

4

1 に答える 1

5

Qt Creatorは、ウィジェットを、デザイナーのウィジェットのコンテキストメニュー(右クリック)または右側のウィジェットリストからアクセスできるレイアウトが既にあるかのように扱います。つまり、最上位のレイアウトをさらにサブレイアウトに分割する場合は、ウィジェットに(パレットから)レイアウトをドロップするだけで済みます。次の画像は、このコンテキストメニューを示しています。

ここに画像の説明を入力してください

右側にある、赤い丸で囲まれたウィジェットアイコンに注目してください。これは、これらのウィジェットにトップレベルのレイアウトが定義されていないことを示しています。レイアウトタイプを選択すると、赤い円が消え、アイコンにレイアウトの選択が反映されます。

あなたの場合、QStackedWidgetメインウィジェットにドロップした後、メインウィジェットを右クリックし、[レイアウト]を選択して、[水平にレイアウト]を選択できます。これにより、スタックされたウィジェットがメインウィジェット全体に表示され、サイズが変更されます。

同様に、「ページ」ウィジェットの1つにウィジェットをドロップすると、ページウィジェットを右クリックして、ページウィジェットに応じてウィジェットのサイズを変更するトップレベルのレイアウトを割り当てることができます。

于 2012-11-06T23:52:43.303 に答える