[英]How to call a QTextEdit widget from MainWindow and use it from another class with QTabWidget implementation? [pyqt5, pyside, python]
[英]How to inherit selfs from parent MainWindow class in pyqt5
我的Ui_MainWindow
class 看起来像这样:
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(271, 429)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.lbl_adres = QtWidgets.QLabel(self.centralwidget)
self.lbl_adres.setGeometry(QtCore.QRect(30, 20, 47, 13))
self.lbl_adres.setObjectName("lbl_adres")
...
我在父 class 之外创建了新的Connection
class 并希望访问lbl_adres
:
class Connection(Ui_MainWindow):
def __init__(self, parent=None):
super().__init__()
#I Want to access parent class element here
print(self.lbl_adres.text())
...
但是,这个 inheritance 根本不起作用,我收到以下错误:
AttributeError: 'Connection' object has no attribute 'lbl_adres'
我了解,连接 class 不能引用 UI_MainWindow 项目,因为我写错了。 我只是想在将来更改父 class 中的某些内容,例如来自连接 class 的文本。 如何解决这个问题?
您确定要 inheritance 吗? (注:inheritance 表示“是”关系,而不是“具有”关系)。 鉴于您的问题标题,您似乎还没有真正掌握 OO(提示:“从父类继承 self”没有任何意义 - self
是调用该方法的 object)。
如果是,那么您的问题来自尝试访问尚未创建的属性 - 它是Ui_MainWindow.setupUI()
创建此属性,因此在您调用此方法之前它不存在。
否则,请更清楚地解释你真正想要做什么(我的意思是:解释问题,而不是你认为的解决方案)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.