我正在尝试实现一个由一堆子元素组成的 UI 元素。它们可以像父母一样增长或缩小。很简单的QLayout
东西。然而,当父元素变得太小时,它会隐藏几个子元素(这意味着现在有更多的空间可以容纳剩余的元素,并且它们会变得更大一些)。
我没有看到任何标准QLayout
处理这个的任何方式。我猜您可以认为子小部件具有优先级,而低优先级的小部件被隐藏。
布局是严格水平的,所以有点类似于工具栏,只是没有办法找到隐藏的项目。(并且子元素不是动作,就像它们在 QToolBar 中一样)。
看看 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 ) ) );
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
543 次 |
最近记录: |