首页 > 解决方案 > Python QT5 - QTWidget 布局增长/缩小到maximumSize/minmumSize

问题描述

我有一个关于 qt5 的 python 布局问题。因此,有一个带有 2 个小部件的正常垂直布局的主窗口。第一个是一个带有滚动区域的小部件,它设置了 minimumSize 和 maximumSize。第二个是另一个带有另一个滚动区域小部件的小部件。

我的目标是这个。我在第一个小部件中加载了一些内容,根据内容,它应该缩小或增长到设置的最小/最大尺寸,如果它大于最大尺寸,则滚动区域应该生效。第二个小部件应始终占用所有剩余的可用空间。

我尝试了各种 sizePolicy 组合,但无法让它完全发挥作用。第二个小部件的 sizePolicy 为 Prefered/Prefered,垂直拉伸设置为 1,因此它自己占用了所有可用空间。

第一个小部件的 miniumSize 为 100,maximumSize 为 250。因此,理想情况下,如果内容较少,它应该缩小到 100-250 之间,如果内容变大,它应该增长到 250 并激活滚动条。

如果我更新小部件一的内容(即通过单击按钮),它应该 1. 调整大小/缩小/增长以使内容适合,但不小于 100 且不大于 250。如果我的内容较少,我不应该能够使小部件 1 reszie 到 250 - 它应该始终只取所需的确切高度。

关于如何做到这一点的任何想法?

示例布局

标签: pythonpyqt5

解决方案


您的滚动区域不会改变大小,因为它是一个滚动区域。它不需要根据内容调整自身大小,因为滚动区域内容的大小基本上是无界的。你可以滚动更多。如果要更改第一个滚动区域的大小,则必须手动设置其高度。


推荐阅读