Code: Alles auswählen
class XYModel : public QAbstractItemModel...
Qt::ItemFlags
XYModel::flags(const QModelIndex& index) const
{
if (!index.isValid())
return 0;
/*
return QAbstractItemModel::flags(index) | Qt::ItemIsEditable;
oder ... kein Unterschied!
*/
return QAbstractItemModel::flags(index) | Qt::ItemIsEditable | Qt::ItemIsSelectable;
}
Sonst keine Auffälligkeiten, die Nodes sind expandierbar und zusammenklappbar.
In XYModel::data wird Qt::DisplayRole || role == Qt::EditRole gleichbehandelt, die Einträge werden korrekt angezeigt. XYModel::setData wird für diese Nodes nicht aufgerufen (debug), was nicht verwundert, da nicht selektierbar.
In einer winzigen Testapplikation mit einem total simplen Model, welches nur Strings als Tree anzeigt, funktioniert es. Ich finde den Fehler nicht.
Woran kann es liegen?