PyQt5中QtWidgets.QWidget()返回类型及中心部件设置疑问
PyQt主窗口中心部件设置的认知困惑
学习背景
正在学习PyQt开发用于查看图像的GUI程序,找到一段可轻松适配自身使用场景的参考代码,计划逐行梳理代码逻辑以加深对PyQt的理解,目前在如下类定义代码段中遇到了困惑:
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QFileDialog class Ui_MainWindow(QtWidgets.QMainWindow): def __init__(self, imgs_path,masks_path, pred_path, study): super(Ui_MainWindow, self).__init__() # sets up ui self.setObjectName("MainWindow") self.resize(1440, 1000) self.centralwidget = QtWidgets.QWidget() self.centralwidget.setObjectName("centralwidget") .... self.setCentralWidget(self.centralwidget)
核心困惑
- 针对代码中
self.setCentralWidget(self.centralwidget)这一行,始终无法明确究竟哪个对象被设置为了主窗口的中心部件 - 查阅Qt官方QWidget相关文档后,依然没能理解当前场景下被设为中心部件的对象属性,甚至产生了认知误区:认为
QtWidgets.QWidget()只是一个封装了各类用户界面方法的通用类 - 认知存在明显冲突:之前学习的教程案例里,
self.centralwidget通常会被赋值为QtWidgets.QLabel()这类具体功能控件,完全无法匹配当前参考代码的赋值逻辑,无法确定最终被设置为中心部件的实体是什么。
内容的提问来源于stack exchange,提问作者visual360
相关产品推荐
相关产品推荐

