Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在Qt中自动调整标签大小_C++_Qt_User Interface_Qlabel - Fatal编程技术网

C++ 在Qt中自动调整标签大小

C++ 在Qt中自动调整标签大小,c++,qt,user-interface,qlabel,C++,Qt,User Interface,Qlabel,我正在开发一个Qt应用程序,目前正在进行内部测试。该公司的一名成员将Windows配置为显示大于其正常大小的文本,这会破坏我的UI。例如,“关于”页面当前如下所示: 但是在他的设置下,看起来是这样的(注意剪裁的文本): 来自C#/Winforms的背景,我感到惊讶的是,我似乎找不到一些易于配置的标签属性,例如自动调整标签大小以适应其包含的文本。我尝试过处理sizePolicy,scaledContents,以及其他一些属性,但似乎没有一个这样做 我遇到过各种线程(例如),它们给出了将文本缩放

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

但是在他的设置下,看起来是这样的(注意剪裁的文本):

来自C#/Winforms的背景,我感到惊讶的是,我似乎找不到一些易于配置的标签属性,例如自动调整标签大小以适应其包含的文本。我尝试过处理
sizePolicy
scaledContents
,以及其他一些属性,但似乎没有一个这样做


我遇到过各种线程(例如),它们给出了将文本缩放到标签的说明,但我想做相反的事情——将标签缩放到文本,以方便像我的同事这样具有放大文本设置的人。有没有一种简单的方法可以解决这个问题?

至少有三种解决方案

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

  • 制作一个代码,在窗口大小改变时执行。在该代码中,您获得窗口()中最长文本的宽度,然后将窗口设置为大于该宽度

  • 执行与解决方案2中相同的操作,但仅在显示对话框时执行代码。然后,更改窗口属性,使其大小不能更改


  • 您应该使用布局:QLabel在默认情况下必须支持这一点(当然,如果放入布局中)。此表单是否使用布局?