【发布时间】:2011-11-19 00:07:39
【问题描述】:
我有一个要插入的小部件,看起来像这样
+--------------------+
| +-------++-------+ |
| | || | |
| | || | |
| | || Label | |
| | Label || Label | |
| | || | |
| | || | |
| +-------++-------+ |
+--------------------+
一个包含两个 QVBoxLayouts 的 QWidget 元素,每个包含一个或多个 QLabels。
这个 Widget 将被插入到具有拉伸单元格的垂直布局中,因此所有此类小部件都将位于顶部并且缩小到尽可能小的高度。
导致这样的事情。
______________________ ← Layout boundary
+--------------------+
| +-------++-------+ |
| | || Label | |
| | Label || Label | | ← Widget shrunk to the smallest
| +-------++-------+ |
+--------------------+
______________________ ← Layout boundary
↑
|
| ← Spacer
|
↓
______________________ ← Layout boundary
但在进行此插入之前,我想知道小部件在插入布局中的大小。也许是其内部布局允许的最小尺寸。不知道怎么称呼。
我已经尝试了很多方法,例如将小部件插入到备用不可见布局中,这样我可以在插入时检索它的高度,这应该与小部件在我的最终布局中插入时所采用的高度相同。
但由于某种原因,当垂直按下小部件时,我总是得到 480 或 478。所以我完全迷路了。
我必须这样做,因为我需要小部件在插入时进行动画处理,并且我需要知道从高度 1 到它的动画所需的高度。
我该怎么做?
【问题讨论】:
-
不是非常相关,但很棒的图表;)
-
您是否尝试过 QLayout::minimumSize() 用于小部件内部布局?
标签: qt animation layout widget height