[PyKDE] Custom QListViewItem
    Thierry Jouve 
    jouve at esrf.fr
       
    Tue Jul  2 17:37:01 BST 2002
    
    
  
Hi,
I want to create a custom QListViewItem to put it into a QListView
widget.
But I have some problems, and I don't know how to solve it.
I've seen in the C++ source code of QCheckListItem, but this doesn't
help me.
Here is my script. The principal method "paintFocus" doesn't work and I
don't know why.
#!/usr/bin/env python
from qt import *
class ListViewItem(QListViewItem) :
   def __init__(self, parent, text = None) :
      QListViewItem.__init__(self, parent, text)
      self.contents = QLabel(self.listView())
   def setText(self, text) :
      self.contents.setText(text)
   def paintCell(self, qPainter, qColorGroup, column, width, align) :
 
      print "paintCell"
      rect = self.listView().itemRect(self)
      rect.setWidth(width)
      self.contents.setGeometry(rect)
      self.contents.show()
      if (col != 0) :
         QListViewItem.paintCell(qPainter, qColorGroup, column, width,
align)
     
   def paintFocus(self, qPainter, qColorGroup, qRect) :
      print "paintFocus"
      rect = QRect()
      rect.setRect(qRect.x() + 21, qRect.y(),
                   qRect.width() - 21, self.listView().columnWidth(0))
      
      #self.contents.setFrameRect(rect)
      #self.contents.drawContents(qPainter)
      QListViewItem.paintFocus(self, qPainter, qColorGroup, qRect)
   def activate(self) :
      print "activate"
      pass
   def rtti(self) :
      print "rtti"
      return 100349857
if __name__ == "__main__" :
   import sys
   qa = QApplication(sys.argv)
   qlv = QListView()
   lvi1 = ListViewItem(qlv, "Salut") 
   qlv.insertItem(lvi1)
   qlv.show()
   qa.setMainWidget(qlv)
   qa.exec_loop()
Do I have forgot to implement methods ??? Is my code correct ???
Regards,
Python : 2.1.1
Qt : 3.0.2
PyQT : 3.2.4
--
   Thierry JOUVE
   BLISS GROUP - ESRF
   Mail : jouve at esrf.fr, Office : 155b, Tel : 29-46
    
    
More information about the PyQt
mailing list