Witam,
jakie są sposoby na zmianę koloru tekstu pozycji w modelach dziedziczonych z QAbstractItemModel?
Obecnie stosuję takie podejście, że ponownie implementuję funkcję:
QVariant QAbstractItemModel::data ( const QModelIndex & index, int role = Qt::DisplayRole )
i w niej umieszczam przykładowo kod:
// ...
switch(role)
{
case Qt::ForegroundRole:
{
return QBrush(Qt::red);
}
}
// ...
Jednak powyższy sposób powoduje to iż nie można tego kolor zmienić w stylach ustawianych przez "QWidget::setStyleSheet ( const QString & styleSheet )". Zawsze jest kolor czerwony.
Czy jest sposób na to, aby style CSS miały "wyższy priorytet" niż ustawienia wyglądu poczynione w QAbstractItemModel::data()?
Zastanawiam się też czy jest to zgodne z wzorcem MVC (a właściwie dla Qt Widok-Model Delegat).
Czy są może inne lepsze sposoby na ustawianie koloru tekstów pozycji opartych o model QAbstractItemModel? Jeśli tak to jakie?