qt - QLayout 可以隐藏而不是调整 QWidget 的大小吗?

标签 qt layout

我正在尝试实现一个由一堆子元素组成的 UI 元素。它们可以像 parent 一样增长或缩小。非常简单 QLayout东西。然而,当父元素变得太小时,它会隐藏几个子元素(这意味着现在有更多的空间可以容纳剩余的元素,并且它们会变得更大一些)。

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

布局是严格水平的,所以有点类似于工具栏,只是没有办法找到隐藏的项目。 (并且子元素不是 Action ,就像它们在 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 ) ) );

关于qt - QLayout 可以隐藏而不是调整 QWidget 的大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9118030/

相关文章:

html - 如何在没有绝对定位的情况下适应 100% 宽度的元素?

c++ - QTreeWidget通过一个函数传递多个项目(多个选择)

c# - 如何创建具有顶部 float 控件和自动调整大小的布局?

qt - 如何在 Qt 中为 RGB888 图像设置 QImage 像素颜色

multithreading - 如何使用qt在多线程中绘制内容?

css - 图像的网格问题

android - android中按钮的背景图像

安卓布局 :define onClick in XML layout which referes to a method in super class

c++ - 每秒在 QGraphicsView 中移动图像

c++ - qt类什么时候作为智能指针使用