Qt kolorowanie SqlQueryModel + tableView

0

Mam problem, być może błachy, ale błagam o pomoc. Męczę się od tygodnia.
Potrzebuję pokolorować wiersze QSqlQueryModel, ale Od razu cały wiersz.

Przykład tabela z 3 kolumn:
lp| Imię | Wiek
1| Jacek| 18
2| Marek| 20
3| Robert| 12
4| Jacek| 22
5 | Łukasz| 30

Jak pokolorować wiersze z imieniem Jacek?

i nie chodzi mi o coś takiego jak poniżej, bo chce zmienić kolor całych wierszy zawierających "Jacek", a tu będę miał na czerwono tylko pola z "Jacek".

class MySqlQueryModel : public QSqlQueryModel
{
    Q_OBJECT
public:
    MySqlQueryModel(QObject * parent = 0)
        : QSqlQueryModel(parent)
    {}
    QVariant data(const QModelIndex &item, int role = Qt::DisplayRole) const
    {
        if (item.isValid() && role == Qt::BackgroundRole)
        {
          if (item.data().toString()=="Jacek")
          {return QVariant(QBrush(QColor::fromRgb(255, 0, 0)));}
        }
        return QSqlQueryModel::data(item, role);
    }
};
0

Przepraszam, że się nie zalogowałem, to ja założyłem ten wątek. Pozdrawiam i z góry dziękuję

1
QVariant data(const QModelIndex &item, int role = Qt::DisplayRole) const {
    static const int kNameColumn = 1;
    if (item.isValid() && role == Qt::BackgroundRole) {
        QVariant name = item.sibling(item.row(), kNameColumn).data();
        if (name.toString()=="Jacek") {
            return QVariant(QBrush(QColor::fromRgb(255, 0, 0)));
        }
    }
    return QSqlQueryModel::data(item, role);
}
0

WIELKIE DZIĘKI !!!!
zamykam temat

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