QListViewItem Hintergrundfarbe

Alles rund um die Programmierung mit Qt
Antworten
miki11
Beiträge: 30
Registriert: 27. Oktober 2008 13:32

QListViewItem Hintergrundfarbe

Beitrag von miki11 »

Ich mache meine erste Schritte mit QT Programmierung, jedoch komme ich an eine Stelle nicht weiter:

Ich bekomme es hin ein pixmap in eine qlistviewitem einzufügen, aber sowas banales, wie Hintergrundfarbe schaffe ich nicht.

Mit hilfe von paintCell schaffe ich eine Spalte einzufärben. Ich würde aber gerne nur bestimmte Zellen oder vielleicht Zeilen einfärben wollen.

Dafür ist paintCell wohl nicht gedacht?!

Code: Alles auswählen

#include <qapplication.h>
#include <qlistview.h>
#include <qpainter.h>
#include <qpixmap.h>


class ListViewItem : public QListViewItem
{
	public:
		ListViewItem( QListView * parent, QString label1, QString label2, QString label3 );
		void paintCell ( QPainter * p, const QColorGroup & cg, int column,
						 int width, int align );
};

ListViewItem::ListViewItem( QListView * parent, QString label1, QString
		label2, QString label3 )
	: QListViewItem( parent, label1, label2, label3 )
{
}

void ListViewItem::paintCell ( QPainter * p, const QColorGroup & cg, int
		column, int width, int align )
{
	if( column == 0 ) {
		QColorGroup colRed = cg;
		colRed.setColor( QColorGroup::Base, Qt::red );
		colRed.setColor( QColorGroup::Text, Qt::green );
		QListViewItem::paintCell( p, colRed, column, width, align );
	} else {
		QListViewItem::paintCell( p, cg, column, width, align ) ;
	}
}

int main( int argc, char** argv )
{
	QApplication a( argc, argv );
	QPixmap pm( 11, 11 );
	pm.fill( Qt::red );
	QListView list;
	list.addColumn( "One" );
	list.addColumn( "Two" );
	list.addColumn( "Color", 40 );
	ListViewItem itemOne( &list, "One", "One", "2/red" );
	ListViewItem itemTwo( &list, "Two", "Two", "1/green" );
	ListViewItem itemThree( &list, "Three" , "Three", "1/red" );
	itemThree.setPixmap(2,pm);
	list.show();
	a.setMainWidget( &list );
	return a.exec();
}
mathies
Beiträge: 149
Registriert: 9. Februar 2007 17:50
Wohnort: Erfurt

Beitrag von mathies »

Hi, musst Du dafür nicht Funktionen im ListView nutzen?
miki11
Beiträge: 30
Registriert: 27. Oktober 2008 13:32

Beitrag von miki11 »

hmm ich habe keine Benachrichtigung bekommen per Mail, daß hier eine Antwort steht, schade....

ich habe diese Seite dazu gefunden, aber noch nicht wirklich ausprobiert, kommt jetzt erst dran....
http://doc.trolltech.com/qq/qq08-fancy-list-view.html
Antworten