[PyQt] identify a QTreeWidgetItem

alteo_gange romanocaldoni at free.fr
Tue Oct 23 12:49:01 BST 2007


Le mardi 23 octobre 2007, alteo_gange a écrit :
> Hi everybody!
>
> I have created several QTreeWidgetItem and connected a signal
> "itemClicked(QTreeWidgetItem *,int)" on the QTreeWidget.
>
> > treeWidget=QtGui.QTreeWidget(widget)
> > ...
> > itemTree1=QtGui.QTreeWidgetItem(treeWidget)
> > ...
> > itemTree2=QtGui.QTreeWidgetItem(treeWidget)
> > ...
> > self.connect(treeWidget,QtCore.SIGNAL("itemClicked(QTreeWidgetItem
> > *,int)"),self.function)
> > ...
> > def function(self, item):
> >         print item
>
> 'print item' return:
> <PyQt4.QtGui.QTreeWidgetItem object at 0x82cf62c>.
>
>
> It's very abstract!
>
> I must identify QTreeWidgetItem in order to connect it an action (view a
> widget on the right), but how? With a method of the item reference? Which?
> I don't know.

With the .text() method, i can recover the QTreeWidgetItem name:
 
> print item.text(0), "\n"

But with no-ascii characters (ex: itemTree.setText(0,_(u"Filtres vidéos"))), 
there is an error:

> Traceback (most recent call last):
>  File "/home/login/docs/langages/python/pyqt4/QTreeWidget.py", line 126, in   
fonction
>    print item.text(0), "\n"
> UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 
> 11: ordinal not in range(128)

-- 
alteo_gange




More information about the PyQt mailing list