У меня есть виджет для вставки, который выглядит как этот
+--------------------+
| +-------++-------+ |
| | || | |
| | || | |
| | || Label | |
| | Label || Label | |
| | || | |
| | || | |
| +-------++-------+ |
+--------------------+
элемент Qwidget, содержащий два QVBoxLayouts, каждый из которых содержит один или несколько QLabels.
Этот виджет будет вставлен в вертикальный макет, который имеет растяжку, поэтому все виджеты такого рода будут переходить на вершину и сжиматься на более мелкую возможную высоту.
В результате чего-то вроде этого.
______________________ ← Layout boundary
+--------------------+
| +-------++-------+ |
| | || Label | |
| | Label || Label | | ← Widget shrunk to the smallest
| +-------++-------+ |
+--------------------+
______________________ ← Layout boundary
↑
|
| ← Spacer
|
↓
______________________ ← Layout boundary
Но прежде чем делать эту вставку, я хочу знать размер, который виджет будет в вставленной макете. Может быть, минимальный размер, разрешенный его внутренним макетом. Не уверен, как это позвонить.
Я пробовал уже много подходов, таких как вставка виджета в альтернативной невидимой макете, чтобы я мог получить его высоту при вставлении, что должно быть то же самое, что виджет примет при введении в мою окончательную макет.
Но по какой-то причине я всегда получаю 480 или 478, когда виджет находится на большинстве высоты 50px при нажатии вертикально. Так что я полностью потерян.
Я должен сделать это, потому что мне нужен виджет, чтобы анимировать при вставке, и мне нужно знать высоту, которая займет меня, чтобы анимировать с высоты 1.
Как я могу сделать это?