我正在尝试实现一个由一堆子元素组成的UI元素。它们可以像父母那样成长或缩小。非常直截了当的QLayout
东西。但是,当父级变得太小时,它会隐藏一些子元素(这意味着现在剩下的元素有更多的空间,并且它们会变得更大)。
我没有看到任何标准QLayout
处理这个问题。我想你可以认为子小部件具有优先级,而低优先级小部件则被隐藏。
布局是严格水平的,因此模糊地类似于工具栏,除了无法获取隐藏的项目。 (并且子元素不是动作,因为它们将在QToolBar中。)
答案 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 ) ) );