python - 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 - 它应该始终只取所需的确切高度。
关于如何做到这一点的任何想法?
解决方案
您的滚动区域不会改变大小,因为它是一个滚动区域。它不需要根据内容调整自身大小,因为滚动区域内容的大小基本上是无界的。你可以滚动更多。如果要更改第一个滚动区域的大小,则必须手动设置其高度。
推荐阅读
- javascript - 为什么没有从数据库中获取 salt 和 hash 值?- 节点JS
- fpga - Vivado:TCL 命令将时钟 1 和时钟 2 之间的时序路径设置为假路径(TIMING-6 和 TIMING-7)
- css - CSS 优先级。Div 元素颜色没有改变
- javascript - Div 内的内联内容
- domain-driven-design - 对多个聚合应用相同的操作
- javascript - 浏览器中支持 AJAX 的导航按钮
- .net - 使用多行事件读取大型文本文件的最便宜和最快的方法
- hive - Skip.footer.line.count 不适用于大于 256MB 的文件
- spring - Json-View 不适用于反应类型(Spring Web mvc,具有反应类型支持)
- javascript - 如果没有 onclick 事件处理程序,HTML 按钮如何做任何事情?