Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从另一个类更改QLineEdit的文本_Python_Python 3.x_Pyqt_Pyqt5 - Fatal编程技术网

Python 从另一个类更改QLineEdit的文本

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):

我有两个类:MainWindow()和ModelSelection()

我想从ModelSelection()访问在MainWindow()中声明的
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])
我建议您阅读以下内容: