Seite 1 von 1

zugriff auf andere elemente in einer tabelle

Verfasst: 10. September 2008 16:53
von mcfloppy
Hi,
bin nun mit meinem delegate weiter.

Code: Alles auswählen

void AufgabenDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
                         const QModelIndex &index) const
{
		drawBackground(painter, option, index);
		  QTextDocument doc;
		  if(index.data().toDate()<QDate::currentDate())
			  doc.setHtml("<body bgcolor=red>" + index.data().toString() + "</body>");
		  else
			  doc.setHtml(index.data().toString());
		  painter->save();
		  painter->translate(option.rect.topLeft());
		  QRect r(QPoint(0, 0), option.rect.size());
		  doc.drawContents(painter, r);
		  painter->restore();
		  drawFocus(painter, option, option.rect);
}
Soweit funktioniert das ganze ja auch, alle vergangenen einträge sind rot, alle ab heute und neuer sind weis. Leider gillt das ganze nur in der Spalte mit dem Datum, alle anderen Felder sind Rot. Wie greife ich nun von jedem Feld ausgehend auf die erste Spalte dieser Reihe zu?

Dann noch 2 Fragen:
Gibt es eine Elegantere Lösung als diesen HTML Wrap?
Wie bekomm ich hier eine Checkbox zurückgegeben?

Gruß Floppy

Verfasst: 10. September 2008 17:19
von upsala
Wenn man die entsprechenden Rule's im Model verwendet, braucht man für einfache Sachen wie Hintergrundfarbe und Checkboxen keine Delegate...

Ansonsten kann man die Paint-Methode nochmal mit geänderten Optionen aufrufen, oder die schönen 'protected' gekennzeichneten Funktionen vom QItemDelegate verwenden...