PyQt(Python+Qt)学习随笔:QScrollArea滚动区域的scrollAreaWidgetContents、widget及setWidget等相关概念解释
在Designer中设计将一个lable放到滚动区域上,使用PyUIC生成代码后,可以看到除了QScrollArea、label 标签外,还多了个scrollAreaWidgetContents对象,并且label的父对象被设置为了这个scrollAreaWidgetContents对象,而滚动区域则调用scrollArea.setWidget(self.scrollAreaWidgetContents)
与这个scrollAreaWidgetContents对象进行了关联。
例如常见的生成代码示例如下:
#生成滚动区域
self.scrollArea = QtWidgets.QScrollArea(mainWin)
self.scrollArea.setGeometry(QtCore.QRect(9, 9, 261, 211))
self.scrollArea.setObjectName("scrollArea")
#生成滚动区域的内容部署层部件
self.scrollAreaWidgetContents = QtWidgets.QWidget()
self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 241, 207))
self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
#在内容部署层放置标签部件
self.label = QtWidgets.QLabel(self.scrollAreaWidgetContents)
self.label.setGeometry(QtCore.QRect(9, 110, 54, 16))
self.label.setObjectName("label")
#设置滚动区域的内容部署部件为前面生成的内容部署层部件
self.scrollArea.setWidget(self.scrollAreaWidgetContents)
scrollAreaWidgetContents对象其实就是滚动区域上放置子部件的对象,子部件并不直接放置在QScrollArea对象上,而是放置在scrollAreaWidgetContents对象上,这个对象对应的界面范围老猿称其为内容部署层。
具体相关概念请参考《PyQt(Python+Qt)学习随笔:QScrollArea滚动区域详解》。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步