启用 QLabel 即使截断文本也能收缩

发布于 2024-11-25 04:49:25 字数 275 浏览 0 评论 0原文

如何调整 QLabel 的大小,即使这意味着截断其包含的文本?我有一个 QLabel 拉伸小部件的整个水平空间。设置其文本时,我确保它被正确截断,即获取其 FontMetrics 和宽度并使用metrics.elidedText()。

但是,当用户调整小部件的大小时,标签不允许它进一步缩小,因为它会截断其文本。

有什么想法如何解决这个问题吗?我认为最简单的解决方案是以某种方式告诉 QLabel 始终缩小,然后捕获调整大小事件并正确格式化文本 - 我只是不知道如何执行第一部分(不同的大小策略没有帮助)

How can I get a QLabel to be resized even if it means truncating its containing text? I have a QLabel stretching the whole horizontal space of a Widget. When setting its text I make sure it is correctly truncated, ie getting its FontMetrics and Width and using metrics.elidedText().

But when the user resizes the widget the Label doesn't allow it to shrink any further since it would truncate its text.

Any ideas how to solve this? The simplest solution I think would be to somehow tell the QLabel to always shrink and then catch the resize event and correctly format the text - I just have no idea how to do the first part (different size policies don't help)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一紙繁鸢 2024-12-02 04:49:25

尽管您提到设置大小策略没有帮助,但将 Q​​Label 的水平大小策略设置为 QSizePolicy::Ignored 应该告诉包含的布局管理器忽略任何最小大小标签上的提示。另一种方法是将 QLabel 的最小水平尺寸设置为非零值,例如 1。如果这些都不起作用,则说明存在其他干扰。

Although you mention that setting size policies didn't help, setting the QLabel's horizontal size policy to QSizePolicy::Ignored should tell the containing layout manager to ignore any minimum size hint from the label. An alternative would be to set the QLabel's minimum horizontal size to a non-zero value, like 1. If neither of these work then there is something else interfering.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文