[Tutor] How to access a method defined in one class from another class (which is a thread) in Python3?
SM
sunithanc at gmail.com
Thu Aug 8 18:23:05 CEST 2013
I am defining multiple classes (some of them are threads)
I have been writing Python programs for a few months, but never faced this
issue so far unless I am doing something different inadvertently. The only
difference I see is that I am calling the methods belonging to other
classes, from a class which is also a thread.
I see the following error:
AttributeError: 'Ui_MainWindow' object has no attribute
'textEdit_fwcmdlineoutput'
Code Snippets:
class Ui_MainWindow(object):
[snip]
def setStdoutToTextEditWindowFw(self):
self.textEdit_fwcmdlineoutput.setText( sys.stdout.getvalue() )
sys.stdout = self.oldstdout
Calling the above method from within the class works fine. But I am calling
it from another class as below:
class bcThread(threading.Thread):
def __init__(self, cmd):
threading.Thread.__init__(self)
self.cmd = cmd
def run(self):
[snip]
Ui_MainWindow.setStdoutToTextEditWindowFw(Ui_MainWindow)
The highlighted line gives the following error :
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.2/threading.py", line 740, in _bootstrap_inner
self.run()
File "bc_reports_tab.py", line 1299, in run
Ui_MainWindow.setStdoutToTextEditWindowFw(Ui_MainWindow)
File "bc_reports_tab.py", line 465, in setStdoutToTextEditWindowFw
self.textEdit_fwcmdlineoutput.setText( sys.stdout.getvalue() )
AttributeError: type object 'Ui_MainWindow' has no attribute
'textEdit_fwcmdlineoutput'
I also tried many different ways of calling the method. The highlighted
line is one of them. Another one I tried is here where I create an
instance, which also gives the same error:
x = Ui_MainWindow()
x.setStdoutToTextEditWindowFw()
I see the same error.
Can someone guide me as to what is the correct way to do something like
this?
Thanks in advance.
-SM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20130808/2f0f26a3/attachment.html>
More information about the Tutor
mailing list