PyQt编程实战:画出QScrollArea的scrollAreaWidgetContents内容部署层的范围矩形

一、引言

在《PyQt(Python+Qt)学习随笔:QScrollArea滚动区域详解》介绍了滚动区域的展现层(也称框架层)和内容部署层:

  1. 内容部署层实际上也是一个独立的部件,在Designer中的该部件在转成应用代码后,名字一般命名为“scrollAreaWidgetContents”或“scrollAreaWidgetContentsXX”(XX表示序号),因此该部件可以称为“滚动区域部件内容”
  2. 内容部署层可以通过滚动区域部件的widget()方法获取到内容部署层对应的部件;
  3. 当展现层范围大于等于内容部署层大小时,操作者无需滚动即可看到完整的滚动区域部署部件;当展现层横向或纵向范围小于内容部署层对应方向大小时,则滚动区域只能展现部分滚动区域部署部件,其他部分需要展现层滚动后才可见;
  4. 当滚动区域的widgetResizable属性为False时,内容部署层和展现层的大小不一致,内容部署层的视口范围在展现层的框架范围内,其不可见部分需要通过滚动条才可以拖拽显示。

由于内容部署层在程序运行时与展现层没有明确的可视界限,本文将在滚动区域上将内容部署层的范围使用红色边框的矩形绘制出来,以实时了解内容部署层的大小。

二、实现方案介绍

原文地址:https://www.cnblogs.com/LaoYuanPython/p/12570462.html