【发布时间】:2014-04-25 20:11:57
【问题描述】:
首先,很抱歉,因为我没有任何代码示例可提供(缩小范围非常复杂)。
基本上,我有 QLabel,我想在应用自动换行后访问标签的高度。
它似乎总是返回默认值(640x480)而不是它需要的实际高度(427 像素)。
这很奇怪,因为没有 .setWordWrap,我得到了正确的值 (16449 x 13)。
有什么想法吗?
【问题讨论】:
-
检查this answer 的建议是否适合您。在布局小部件之前,不能保证大小有效,并且在它们可见时进行布局。第一步是在小部件在屏幕上可见后检查您是否获得了正确的尺寸(比如在
show()之后 1 秒,但请确保您没有阻塞事件循环)。请记住,文字包装的标签具有宽度换高,它只能给出一定宽度的高度,而不是抽象的。 -
对不起,你所说的“一个文字包装的标签有高度比宽度”是什么意思,因为我认为这对我来说可能很重要!
-
我的意思是我所说的。每个宽度都有不同的高度,因为高度取决于宽度。
-
看看这个问题是否有帮助 - stackoverflow.com/questions/2427103/…
-
@sashoalm 您链接到的答案仅适用于小部件旨在保持不可见的情况。它也没有解决 height-for-width 问题。