zugriff auf andere elemente in einer tabelle

Alles rund um die Programmierung mit Qt
Antworten
mcfloppy
Beiträge: 29
Registriert: 9. September 2008 17:35
Kontaktdaten:

zugriff auf andere elemente in einer tabelle

Beitrag 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
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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...
Antworten