无法调整QScrollArea中QLabel的大小

时间:2020-04-20 01:44:39

标签: qt qt5

我正在尝试按照以下链接中的示例在可滚动区域中显示图片(在qlabel中)。

https://doc.qt.io/qt-5/qtwidgets-widgets-imageviewer-example.html

我正在使用Qt Designer制作ui,而不是对所有内容进行硬编码。因此,我在QWidget(为其分配了网格布局)的QScrollArea中有一个QLabel。

在本教程中,他们对QLabel的sizepolicy声明如下:

我们将imageLabel的[QLabel]大小策略设置为忽略,从而使用户能够在启用“适合窗口”选项时将图像缩放到所需的任何大小。否则,默认的大小策略(首选)将使滚动条在滚动区域变得小于标签的最小大小提示时出现。

如预期的那样,将其设置为忽略可适合该窗口。如果图像大于滚动区域,则将其设置为“ preferred”可提供滚动条,这也符合预期和陈述。我的问题是,当sizepolicy设置为Preferred时,QLabel的调整大小功能不起作用。它始终保持为已加载图像的默认大小。我可以使用调整大小功能的唯一方法是,当我没有为QScrollArea中的小部件分配布局/断开布局时,但是当图像大于QScrollArea时,将不会出现滚动条。

有人对如何使调整大小功能和滚动条同时工作有任何想法吗?

在此先感谢您的帮助。我仍在尝试学习qt5,这似乎很简单,但是它却使我发疯。

0 个答案:

没有答案