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.