2012-02-02 8 views
4

私はサブ要素の束で構成されているUI要素を実装しようとしています。彼らは親がそうするように成長するか、または縮小することができます。かなり素直なQLayoutもの。しかし、親が小さすぎると、いくつかのサブ要素が隠されます(つまり、残りの要素のための余地が増え、少し大きめになります)。QLayoutは、QWidgetsのサイズを変更するのではなく、隠すことができますか?

標準QLayoutの処理方法が表示されません。私はあなたが子ウィジェットを優先順位と考え、低優先順位のウィジェットを隠していると考えることができると思います。

レイアウトは厳密に水平であるため、隠れたアイテムにアクセスする方法がない点を除いて、ツールバーと曖昧に似ています。 (子要素はQToolBarにあるようにアクションではありません)。

答えて

0

QStackedWidgetを見てください。私は自分で使い始めたばかりです。

「ページ」は、呼び出されると表示/非表示になります。例:たとえば

ui.stackedWidget->setCurrentIndex(0);

、インデックス0が表示され、ページ1,2,3 ...の下に隠されています。

私は、適切なページ/ウィジェットをクリックしたときに他のものを非表示にするラジオボタンの束に接続しました。接続は簡単です:

connect(button_group_ptr, SIGNAL(buttonClicked(int)), ui.stackedWidget, SLOT(setCurrentIndex(int))); 
connect(ui.stackedWidget, SIGNAL(currentChanged(int)), this, SLOT(stackedWidgetChanged(int))); 
+0

これは同じことだとは思いません。つまり、ウィジェットを隠すことは、コンテナのサイズに依存します。 –

関連する問題