<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">---------- ----------<br>From: Threader Slash <<a href="mailto:threaderslash@gmail.com">threaderslash@gmail.com</a>><br>
To: <a href="mailto:python-list@python.org">python-list@python.org</a><br>Date: Tue, 17 Nov 2009 10:34:34 +1100<br>Subject: QtPython QtreeWidget - sortingEnabled Problem<br>Hello Everybody,<br><br>I
trying to do a Qtreewidget to attend a customer design suggestion. I am
coding it on QtPython. I did a first try using Qt Designer, then
generated the code. But when I try to run it, an error comes out: <br>
<br>self.centralwidget.setSortingEnabled(__sortingEnabled)<br>AttributeError: setSortingEnabled<br><br>I
googled around, but didn't find any solution for this problem, except
some suggestion just to simply delete the lines in the code that
results in the compiling error. But it didn't really help, because if
you do so, it triggers more error, just like that:<br>
<br>self.treeWidget.topLevelItem(0).child(1).setText(0, QtGui.QApplication.translate("MainWindow", "Item Name", None, QtGui.QApplication.UnicodeUTF8))<br>AttributeError: 'NoneType' object has no attribute 'setText'<br>
<br>Here is my current code to generate a nice simple QtreeWidget/View:<br><br>#//===========================================================//#<br>def color_setupUi(self, MainWindow,phrase):<br>MainWindow.setObjectName("MainWindow")<br>
MainWindow.resize(800, 600)<br>self.eqpt_centralwdg(MainWindow)<br>self.eqpt_retranslateUi(MainWindow)<br>QtCore.QMetaObject.connectSlotsByName(MainWindow)<br>#//===========================================================//#<br>
def eqpt_centralwdg(self,MainWindow):<br>self.centralwidget = QtGui.QWidget(MainWindow)<br>self.centralwidget.setObjectName("centralwidget")<br><br>self.colorTreeWidget = QtGui.QTreeWidget(self.centralwidget)<br>
self.colorTreeWidget.setGeometry(QtCore.QRect(60, 60, 191, 141))<br>self.colorTreeWidget.setObjectName("colorTreeWidget")<br><br>item = QtGui.QTreeWidgetItem(self.colorTreeWidget)<br>item = QtGui.QTreeWidgetItem(self.colorTreeWidget)<br>
<br>self.centralwidget.setSortingEnabled(__sortingEnabled)<br>MainWindow.setCentralWidget(self.centralwidget)<br>#//===========================================================//#<br>def eqpt_retranslateUi(self, MainWindow):<br>
<br>MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8)<br><br>self.colorTreeWidget.headerItem().setText(0, QtGui.QApplication.translate("MainWindow", "color", None, QtGui.QApplication.UnicodeUTF8)<br>
__sortingEnabled = self.colorTreeWidget.isSortingEnabled()<br>self.colorTreeWidget.setSortingEnabled(False)<br>self.colorTreeWidget.topLevelItem(0).setText(0, QtGui.QApplication.translate("MainWindow", "Yellow", None, QtGui.QApplication.UnicodeUTF8)<br>
self.colorTreeWidget.topLevelItem(1).setText(0, QtGui.QApplication.translate("MainWindow", "Blue", None, QtGui.QApplication.UnicodeUTF8)<br>self.colorTreeWidget.setSortingEnabled(__sortingEnabled)<br>
#//===========================================================//#<br>
<br>All other object I needed to implement on Qt using Designer and a
little bit of code has worked fine so far, e.g. inputLine, comboBox,
TabWidget. I just got stuck with this TreeWidget error.<br><br>Any hints or suggestion are highly appreciated and welcome.<br><br>---------- ----------<br>
</blockquote><div><br><br>
Here is the solution:<br>
1. delete/comment only the following line:<br>
#self.centralwidget.setSortingEnabled(__sortingEnabled)<br>
<br>
Then code:<br>
[code]<br>
def eqpt_centralwdg(self,MainWindow):<br>
self.centralwidget = QtGui.QWidget(MainWindow)<br>
self.centralwidget.setObjectName("centralwidget")<br>
<br>
self.colorTreeWidget = QtGui.QTreeWidget(self.centralwidget)<br>
self.colorTreeWidget.setGeometry(QtCore.QRect(60, 60, 191, 141))<br>
self.colorTreeWidget.setObjectName("colorTreeWidget")<br>
<br>
item = QtGui.QTreeWidgetItem(self.colorTreeWidget)<br>
item = QtGui.QTreeWidgetItem(self.colorTreeWidget) <br>
<br>
self.connect(self.colorTreeWidget, QtCore.SIGNAL('itemClicked(QTreeWidgetItem*, int)'), self.eqpt_activateInput)<br>
<br>
MainWindow.setCentralWidget(self.centralwidget) <br>
<br>
def eqpt_activateInput(self,item,col):<br>
print "Qtree ok! pressed"<br>
print item.text(col) <br>
[/code]<br><br>
Hope this may help others too.<br>
ThreaderSlash<br>
</div></div><input id="gwProxy" type="hidden"><input onclick="jsCall();" id="jsProxy" type="hidden"><input id="gwProxy" type="hidden"><input onclick="jsCall();" id="jsProxy" type="hidden"><div id="refHTML"></div>