让QLabel在截断文本的情况下也能够自动缩小

9
我该如何让QLabel被调整大小,即使这意味着截断其包含的文本?我有一个QLabel横跨整个Widget的水平空间。在设置其文本时,我确保它被正确截断,即获取其FontMetrics和Width并使用metrics.elidedText()。
但是当用户调整小部件的大小时,标签不允许进一步缩小,因为这将截断其文本。有什么解决方法吗?我认为最简单的解决方案是以某种方式告诉QLabel始终缩小,然后捕获调整大小事件并正确格式化文本-我只是不知道如何完成第一部分(不同的大小策略没有帮助)。
1个回答

13

虽然您提到设置大小策略没有起作用,但将QLabel的水平大小策略设置为QSizePolicy::Ignored,可以告诉包含布局管理器忽略标签的任何最小大小提示。另一种方法是将QLabel的最小水平大小设置为非零值,例如1。如果这两种方法都不起作用,则可能有其他干扰因素。


1
我很喜欢查那个词的意思 :) - Arnold Spence
奇怪,我尝试了“忽略”选项,虽然它允许我正确地缩小小部件,但由于小部件不再填满完整的水平空间(这是我在发布时完全忘记的,对此我感到抱歉!),导致了奇怪的图形外观。我刚刚又尝试了一下,结果...它奏效了 - 在德语中,我们会说“Vorführeffekt” ;) +1并接受。 - Voo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接