Aus dieser Tabelle möchte ich jetzt Spalten 2 und 3 darstellen. Die Spalte 2 soll jetzt abhängig vom Inhalt der Spalte 4 eine entsprechende QPixmap bekommen. (2 zustände sind möglich)
Hier mal ein Auszug aus meinem bisherigen code:
Code: Alles auswählen
QVariant TableModel::data(const QModelIndex &index, int role) const
{
QVariant value = QSqlTableModel::data(index, role);
if (value.isValid() && role == Qt::DisplayRole)
{
if (index.column() == 2)
{
return value.toString();
}
if (index.column() == 3)
{
return value.toString();
}
}
if (role == Qt::DecorationRole && index.column () == 2)
{
QPixmap m(QString( ":/general/images/locked.png" ));
return qVariantFromValue(m);
}
return value;
}Mein Problem ist jetzt, wenn jetzt meine Qt::DecorationRole Bedingung für die Spalte 2 aufgerufen wird ist value ja zum einen invalid, zum anderen müsste ich ja wissen wie der value der zugehörigen spalte 4 wäre und anhand diesem entscheiden welche Pixmap ich der Spalte 2 zuweise.
Irgendwie konnt mir bisher google auch nicht weiterhelfen. Hat jemand einen Tipp oder ist der Ansatz komplett falsch?