QTableView Delegate nur bestimmte Zeillen
QTableView Delegate nur bestimmte Zeillen
Ich hab ein delegate erstellt und möchte dieses jetzt nur für bestimmte Zellen benutzen, aber leider finde ich nur Methoden um ganze Spalten, oder ganze Zeilen zu setzen.
Zuletzt geändert von dazedly am 14. April 2011 11:11, insgesamt 2-mal geändert.
Na ja doch so einfach ist es jetzt doch nicht 
Ich kann zwar im delegate sagen, wie aussehen soll, aber ich muss wissen anhand der Daten wissen, wie es dar gestellt werden soll. Ich hab jetzt versucht über den Parent (ist das Model) mit der Methode "isEditable()" das Aussehen zu bestimmen. Nur leider führt das immer zu einem Segfault. Ich müsste den Status aber irgendwie anbfragen können.
Ich kann zwar im delegate sagen, wie aussehen soll, aber ich muss wissen anhand der Daten wissen, wie es dar gestellt werden soll. Ich hab jetzt versucht über den Parent (ist das Model) mit der Methode "isEditable()" das Aussehen zu bestimmen. Nur leider führt das immer zu einem Segfault. Ich müsste den Status aber irgendwie anbfragen können.
Code: Alles auswählen
QStandardItemModel *mod = (QStandardItemModel*) this->parent();
qDebug() << this->parent()->metaObject()->className();
if(!mod->item(index.row(), index.column())->isEditable())
{
qDebug() << "cant edit";
painter->setBrush(QBrush("grey"));
}
QStyledItemDelegate::paint(painter, option, index);