QTreeView: nur Toplevel Nodes selektierbar

Alles rund um die Programmierung mit Qt
Antworten
kuh-t-baer
Beiträge: 1
Registriert: 23. September 2008 13:34

QTreeView: nur Toplevel Nodes selektierbar

Beitrag von kuh-t-baer »

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;
}
Woran kann es liegen, daß in einem TreeView nur die Nodes der obersten Ebene unterhalb des Root-Index selektierbar sind?
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?
Antworten