On 08/08/13 21:24, SM wrote:
example, I ended up doing exactly what you suggested. I am sure I am
> missing something, as it is giving the same error:
> Here is what I am doing based on your suggestion:
>
> class bcThread(threading.Thread):
> def h(self, y):
> y.setStdoutToTextEditWindowFw() #(line 1277)
>
...
[snip]
> x = Ui_MainWindow()
> self.h(x) # (line 1319)
>
So far so good.
class Ui_MainWindow(object)
> def setupUi(self, MainWindow):
> [snip]
>
> self.textEdit_fwcmdlineoutput = QtGui.QTextEdit(self.tab_fw)
>
This only comes into existence after setupUi is called.
Normally that would be in the UI init() method but you don;t
show any init or any other call to setupUi
[SM] Sorry that I didn't add that part. setupUI is called from the main as
below:
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
Wonder if it is necessary to call it through __init__. I used Py Qt4
Designer to generate the skeleton of the Gui code and have been using it
like this for sometime now.
Thanks,
-SM
self.textEdit_fwcmdlineoutput.setObjectName(_fromUtf8("textEdit_fwcmdlineoutput"))
>
def setStdoutToTextEditWindowFw(self):
> self.textEdit_fwcmdlineoutput.setText( sys.stdout.getvalue() )
>
So this fails if setupUi has not been called earlier because the attribute
has not been initialised yet.
self.textEdit_fwcmdlineoutput.setText( sys.stdout.getvalue() )
> AttributeError: 'Ui_MainWindow' object has no attribute
> 'textEdit_fwcmdlineoutput'
>
You need to ensure that the UI __init__() method calls self.setupUi()
I suspect.
On Thu, Aug 8, 2013 at 4:57 PM, Alan Gauld <[email protected]>wrote:
> On 08/08/13 21:24, SM wrote:
>
> example, I ended up doing exactly what you suggested. I am sure I am
>> missing something, as it is giving the same error:
>> Here is what I am doing based on your suggestion:
>>
>> class bcThread(threading.Thread):
>> def h(self, y):
>> y.setStdoutToTextEditWindowFw(**) #(line 1277)
>>
>
> ...
>
> [snip]
>> x = Ui_MainWindow()
>> self.h(x) # (line 1319)
>>
>
> So far so good.
>
>
> class Ui_MainWindow(object)
>> def setupUi(self, MainWindow):
>> [snip]
>>
>> self.textEdit_fwcmdlineoutput = QtGui.QTextEdit(self.tab_fw)
>>
>
> This only comes into existence after setupUi is called.
> Normally that would be in the UI init() method but you don;t
> show any init or any other call to setupUi
>
> self.textEdit_fwcmdlineoutput.**setObjectName(_fromUtf8("**
>> textEdit_fwcmdlineoutput"))
>>
>
> def setStdoutToTextEditWindowFw(**self):
>> self.textEdit_fwcmdlineoutput.**setText( sys.stdout.getvalue() )
>>
>
> So this fails if setupUi has not been called earlier because the attribute
> has not been initialised yet.
>
>
> self.textEdit_fwcmdlineoutput.**setText( sys.stdout.getvalue() )
>> AttributeError: 'Ui_MainWindow' object has no attribute
>> 'textEdit_fwcmdlineoutput'
>>
>
> You need to ensure that the UI __init__() method calls self.setupUi()
> I suspect.
>
>
> --
> Alan G
> Author of the Learn to Program web site
> http://www.alan-g.me.uk/
>
> ______________________________**_________________
> Tutor maillist - [email protected]
> To unsubscribe or change subscription options:
> http://mail.python.org/**mailman/listinfo/tutor<http://mail.python.org/mailman/listinfo/tutor>
>
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor