QLayt可以隐藏QWidgets而不是调整大小吗?

时间:2012-02-02 18:41:51

标签: qt layout

我正在尝试实现一个由一堆子元素组成的UI元素。它们可以像父母那样成长或缩小。非常直截了当的QLayout东西。但是,当父级变得太小时,它会隐藏一些子元素(这意味着现在剩下的元素有更多的空间,并且它们会变得更大)。

我没有看到任何标准QLayout处理这个问题。我想你可以认为子小部件具有优先级,而低优先级小部件则被隐藏。

布局是严格水平的,因此模糊地类似于工具栏,除了无法获取隐藏的项目。 (并且子元素不是动作,因为它们将在QToolBar中。)

1 个答案:

答案 0 :(得分: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 ) ) );