Qt4.2: Model/View/Delegate: Unterschiedliche Farben für Item

Alles rund um die Programmierung mit Qt
Antworten
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Qt4.2: Model/View/Delegate: Unterschiedliche Farben für Item

Beitrag von nando »

Hi,

ich habe eine model/view architektur von Qt.
QTableModel + QTableViews...
Nun habe ich ein Delegate gemacht fuer die Views und moechte fuer jede Zelle eine andere Farbe setzen....

Wie muss ich da vorgehen...

ich hab die drawDisplay Methode überschrieben, aber die Zeichnet dann immer alle Daten der View neu.. ich will aber unterschiedliche Farben für jede Zelle...

Ich muss irgendwie an den Index kommen und dann abhängig von row und column verschiedene Farben verwenden... aber wie?????

Gruss,
Nando
Sephral
Beiträge: 201
Registriert: 1. Februar 2006 09:40
Kontaktdaten:

Beitrag von Sephral »

Hallo,
schätze das könntest du auch ohne Delegate schon im Model machen.
Mit der BackgroundRole hab ichs aber noch nicht ausprobiert.

Code: Alles auswählen

QVariant MyModel::data(const QModelIndex &index, int role) const
{
    if(role == Qt::BackgroundRole)
    {
        // Farbe bestimmen
        return Qt::red;
    }
}
Ciao,
Sephral
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

Hi...
ja so hab ich es schon...
das problem ist aber, dass ich verschiedene Views habe, die die gleichen daten unterschiedlich anzeigen sollen... Deswegen ist es nicht gut das im model zu machen...
ich moechte jede view konfigurieren koennen, wie sie die daten interpretieren soll....

gruss,
nando
Sephral
Beiträge: 201
Registriert: 1. Februar 2006 09:40
Kontaktdaten:

Beitrag von Sephral »

Hiho,

schau dir mal das Beispiel an: http://doc.trolltech.com/4.3/qitemdelegate.html#paint

Ich schätze das lässt sich auf Dein Vorhaben umbauen.
Du hast den Index und kannst zeichnen.


Ciao,
Sephral
Antworten