我有两个类:MainWindow()和ModelSelection()。
我希望从ModelSelection()访问MainWindow()中声明的QLineEdit
,以便通过QLineEdit
方法更改setText()
的文本。
mainWindow.py
from modelSelection import ModelSelection
def __init__(self, workingDir, filename, mode, tabAnalysis, parent=None):
super(MainWindow,self).__init__(parent)
self.fileLine = QLineEdit()
modelSelection.py
import mainWindow
def openModelDialog(self):
self.filename = QFileDialog.getOpenFileName(self, "Open File",filePath,"(*.txt)")
if self.filename:
mainWindow.fileLine.setText(self.filename[0])
return self.filename
返回:AttributeError: 'module' object has no attribute 'fileLine'
答案 0 :(得分:0)
你混淆了课堂和模块
模块mainWindow.py
包含一个类MainWindow
。属性fileLine
属于类,而不属于模块。
无论如何,您不必在mainWindow
中导入modelSelection.py
。
您已经在modelSection
中导入了mainWindow.py
,所以我的猜测是
mainWindow
是modelSelection
的父级
在这种情况下,您可以查看以下问题:Getting container/parent object from within python
答案 1 :(得分:0)
我假设您的其余代码正常工作,并且您只提供了最少的信息。添加“自我”'在这一行。
self.mainWindow.fileLine.setText(self.filename[0])