Qt中的自动调整大小标签

时间:2013-06-12 15:21:15

标签: c++ qt user-interface qlabel

我正在开发一个Qt应用程序,它目前正处于内部测试阶段。该公司的一名成员将Windows配置为显示大于其正常大小的文本,这会破坏我的UI。例如,“关于”页面目前如下所示:

Normal appearance

但在他的设置下,看起来像这样(注意剪辑的文字):

Large text appearance

来自C#/ Winforms背景,我很惊讶我似乎无法找到一些易于配置的标签属性,例如Form.AutoSize,它会自动调整标签大小以适合其包含的文本。我曾尝试弄乱sizePolicyscaledContents和其他一些属性,但似乎没有人这样做。

我遇到了各种线程(例如this one),它们提供了将文本缩放到标签的说明,但我想做相反的事情 - 将标签缩放到 text 以方便那些像我的同事那样放大文字设置的人。有这么简单的方法吗?

1 个答案:

答案 0 :(得分:1)

这个问题至少有三个解决方案。

  1. 使用布局。它们的内容根据窗口的大小进行缩放。

  2. 创建一个在更改窗口大小时执行的代码。在该代码中,您将获得窗口中最长文本的宽度(How?)(another way),然后将窗口设置为宽于此值。

  3. 执行与解决方案#2相同的操作,但仅在显示对话框时执行代码。之后,更改窗口属性,使其大小无法更改。