QTreeView data

0

Cześć wszystkim.
Zdecydowałem się napisać tutaj bo nie daję sobie rady z obsługa QTableView. Chciałbym napisać program który w zależności od zawartości jednego rekordu z wiersza, tabeli postgreSQL koloruje mi cały wiersz na wybrany kolor np.
0 - niebieski
1 - zielony
2 - czerwony
Moim głównym problem jest to że nie mam pojęcia jak odnieść się w funkcji data do zawartości rekordu. Dotąd zaimplementowałem coś co koloruje mi co 2 wiersz, jednak odwołuję się tu do indeksu a nie do wartości w rekordzie. Czy ktoś by mógłby podać mi rozwiązanie albo chociaż naprowadzić mnie na odpowiednią dokumentację?

class CustomModel: public QSqlQueryModel
{
    Q_OBJECT
public:
    explicit CustomModel(QObject *parent = 0):QSqlQueryModel(parent) {}
    QVariant data(const QModelIndex &idx, int role) const
    {
        if(idx.row()%2==0)
            if (role == Qt::BackgroundRole)
                return QBrush(QColor(Qt::yellow));
        return QSqlQueryModel::data(idx, role);
    }
};

Do stworzenia tego kawałka kodu posiłkowałem się tematem http://4programmers.net/Forum/C_i_C++/186000-kolorowanie_komorki-qtableview oraz przykładowym programem QT http://qt-project.org/doc/qt-4.8/demos-sqlbrowser.html. Z góry dziękuję za pomoc i dobre rady.

1 użytkowników online, w tym zalogowanych: 0, gości: 1