我的Ui_MainWindow
类如下所示:
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")
...
我在父类之外的下面创建了新的Connection
类,并希望获得对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())
...
但是,此继承根本不起作用,我得到以下错误:
AttributeError: 'Connection' object has no attribute 'lbl_adres'
我明白,连接类不能引用UI\U主窗口项,因为我写错了。我只是想在将来的父类中更改一些东西,比如连接类中的文本。如何解决
你确定要继承遗产吗(注意:继承意味着“是一种”关系,而不是“有一种”关系)。给出问题的标题,您似乎还没有真正理解OO(提示:“从父类继承self”没有任何意义-
self
是调用方法的对象)如果是,那么您的问题来自尝试访问一个尚未创建的属性-它是创建这个属性的
Ui_MainWindow.setupUI()
,所以在调用这个方法之前它不存在否则,请更清楚地解释你真正想做什么(我的意思是:解释问题,而不是你认为的解决办法)
相关问题 更多 >
编程相关推荐