Python 从另一个类更改QLineEdit的文本
我有两个类:MainWindow()和ModelSelection() 我想从ModelSelection()访问在MainWindow()中声明的Python 从另一个类更改QLineEdit的文本,python,python-3.x,pyqt,pyqt5,Python,Python 3.x,Pyqt,Pyqt5,我有两个类:MainWindow()和ModelSelection() 我想从ModelSelection()访问在MainWindow()中声明的QLineEdit,以便通过方法setText()更改QLineEdit的文本 main window.py from modelSelection import ModelSelection def __init__(self, workingDir, filename, mode, tabAnalysis, parent=None):
QLineEdit
,以便通过方法setText()
更改QLineEdit
的文本
main window.py
from modelSelection import ModelSelection
def __init__(self, workingDir, filename, mode, tabAnalysis, parent=None):
super(MainWindow,self).__init__(parent)
self.fileLine = QLineEdit()
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
modelSelection.py
from modelSelection import ModelSelection
def __init__(self, workingDir, filename, mode, tabAnalysis, parent=None):
super(MainWindow,self).__init__(parent)
self.fileLine = QLineEdit()
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”对象没有属性“fileLine”
您混淆了类和模块。模块
mainWindow.py
包含一个类mainWindow
。属性fileLine
属于类,而不是模块
无论如何,您不必在modelSelection.py
中导入main窗口
您已经在mainWindow.py
中导入了modelSection
,所以我猜
main窗口是modelSelection
的父窗口
在本例中,您可以检查以下问题:我假定您的其余代码正在工作,您只提供了最少的信息。在此行中添加一个“self”
self.mainWindow.fileLine.setText(self.filename[0])
我建议您阅读以下内容: