package MyItem; use QTableItem; # nur geraten use base qw/QTableItem/; sub new { my ($parent, @args) = @_; my $class = ref($parent) || $parent; my $self = $class->SUPER::new(@args); if(defined $self) { $self->{-crbkg} = Qt::white; $self->{-crtxt} = Qt::black; $self->{-horzalign} = Qt::AlignRight; $self->{-vertalign} = Qt::AlignVCenter; } return $self; } sub paint(QPainter* p,const QColorGroup& cg,const QRect& cr,bool selected) { my ($self, $p, $cg, $cr, $selected) = @_ my $w = $cr->width(); my $h = $cr->height(); if($selected && $self->colSpan() == 1) { $p->fillRect( 0 , 0 , $w , $h , $cg->brush( QColorGroup::Highlight ) ); $p->setPen( $cg->highlightedText() ); } else { $p->fillRect( 0 , 0 , $w , $h , $self->{-crbkg} ); $p->setPen( $self->{-crtxt} ); } $p->drawText( 2 , 0 , $w - 4 , $h , $self->wordWrap() ? ( $self->{-horzalign}|$self->{-vertalign} | WordBreak ) : ( $self->{-horzalign} | $self->{-vertalign} ) , $self->text() ); } 1;