Python类对象与" self"

时间:2015-12-14 10:32:25

标签: python qt

我有基于QT的GUI,其中我从文本文件中读取LineEdit的内容。 GUI由一个类表示(在用户的选择中有很多这样的GUI选择),而我想保持在课堂外阅读和显示的功能。所以,为此我创建了一个所述类的对象并将其传递给外部函数。但是,它不会显示从GUI中分配的框中的文件中读取的单词。此外,当我将对象等同于self时,则仅显示文本。以下是代码片段。

class MainClass(QtGui.QWidget, Ui_MyClass):
        def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.setupUi(self)

    def fillBoxes(self):
        self.messageBox.setText("Reading File !!")
        time.sleep(2)
        classObj = MainClass()  # object
        print "entering func.." 
        ret = readFile(classObj,'REX011')
        print self, classObj

def readFile(resClass,res):
    ......functioning related to file read....
    .....
    resClass.messageBox.setText("File Read Complete!!")   # No display

上面print语句的控制台输出产生

<myFile.MainClass object at 0xb36682b4>

<myFile.MainClass object at 0xb36ac26c>

即。 selfobjClass位置不同。为什么会这样?它们是否应该位于同一位置以便显示所有消息。可以在同一个类定义中创建类的对象吗? 而不是做:

classObj = MainClass()  # object
ret = readFile(classObj,'REX011')

我可以安全地做到这一点吗?

ret = readFile(self,'REX011')

1 个答案:

答案 0 :(得分:3)

classObj = MainClass() # object将创建另一个新的MainWindow()实例。这不是你需要的。 ret = readFile(self,'REX011')应该做你需要的。

相关问题