![](/img/trans.png)
[英]How to implement a python class function that uses class and current object (self)?
[英]Python class object same as “self”
我有基于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>
即self
和objClass
位置不同。 为什么会这样呢? 不应将它们放在一起,以便显示所有消息。 是否可以在相同的类定义中创建该类的对象? 而不是做:
classObj = MainClass() # object
ret = readFile(classObj,'REX011')
我可以安全地这样做吗?
ret = readFile(self,'REX011')
classObj = MainClass() # object
将创建另一个新的MainWindow()实例。 那不是你所需要的。 ret = readFile(self,'REX011')
应该做你所需要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.