pyqt table

Jim jbublitzNO at SPAMnwinternet.com
Tue Nov 5 15:55:50 EST 2002


Sorry, the else clause below was mis-indented in the
original post.


Jim wrote:

> Rob Hall wrote:
> 
>> I have created a qt table fine.  I want to be able to colour the 
>> background
>> of individual cells but I cant find a setBackground method fot 
>> QTableItem.
> 
> 
>> How do I colour the background of a cell?
> 
> 
> I haven't done this in quite a while, but it
> looks like you need to subclass QTableItem and
> overload the paint method:
> 
> class CustomTableItem (QTableItem):
>     def __init__ (self, table, et, text):
>         QTableItem.__init__ (self, table, et, text)
> 
>     def paint (self, p, cg, cr, selected):
>         if <some condition, like self.row () ==
>            or something based on cell value>
> 
>             new_cg = <new QColorGroup defined by
>                       your program somehow>
>         else:
>             new_cg = cg  <-- indented
>         ------------------------------
>         QTableItem.paint (self, p, new_cg, cr, selected)
> 
> Each QTableItem holds row/col properties, so you
> can use those to determine the row being painted.
> (see QTableItem.row (), for example)
> 
> See the Qt docs for QTableItem::paint and QColorGroup.
> There's also some example C++ code linked at
> QTableItem.paint in the Qt docs.
> 
> 
> Jim
> 





More information about the Python-list mailing list