Hallo,
in Qt3 gab es QListViewItem::setRenameEnabled(spalte, true). In Qt4 gibt es das nicht mehr, da kann man nur mittels Flag ein ganzes Item editierbar machen. Dann sind aber alle Spalten editierbar und das will ich nicht.
Hat jemand schon ne Lösung gefunden wie man das auf einzelne Spalten begrenzen kann?
[Qt4] QTreeWidget, nur einzelne Spalten editieren
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Welches Widget benutzt du? Nach deiner Beschreibung QTableWidget.
Einfach den gesamten Inhalt auf nicht editierbar schalten und dann das jeweilige Item eben editierbar machen. Oder anders herum, alle einzelnen Items nicht editierbar machen und nur die in Ruhe lassen, die geändert werden können.
Eine bessere Lösung? Mit Qt4? Ich suche so oft nach besseren Lösungen dort, leider vergebens. Ich bin froh, falls überhaupt mal eine Lösung besteht.
Einfach den gesamten Inhalt auf nicht editierbar schalten und dann das jeweilige Item eben editierbar machen. Oder anders herum, alle einzelnen Items nicht editierbar machen und nur die in Ruhe lassen, die geändert werden können.
Eine bessere Lösung? Mit Qt4? Ich suche so oft nach besseren Lösungen dort, leider vergebens. Ich bin froh, falls überhaupt mal eine Lösung besteht.
QTreeWidget, steht auch im TitelFlorianBecker hat geschrieben:Welches Widget benutzt du? Nach deiner Beschreibung QTableWidget.
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Ich hoffe das kommt noch. Wenn ich nämlich das editieren eines Items vom Programm aus anstoßen will, dann muß ich das dem QTreeWidget sagen (editItem(item, Spalte)) und nicht dem Item. Das es überhaupt editierbar ist, muß ich aber dem Item sagen. Da muß ich erst noch suchen, was ich da wo überschreiben muß, damit es geht.FlorianBecker hat geschrieben:Aber ein QTreeWidget ist nicht editable wie ein QTableWidget. Das musst du explizit einbinden, damit es editable wird!?
Gräme dich nicht, da bin ich schonFlorianBecker hat geschrieben:Ja, ich habe das nicht gelesen. Ich werde alt.
Einzelne Items in QTreeWidget editierbar machen
Basis ist QT-4.3.0. Ich habe alle entsprechenden
Items per setFlags(...) editierbar gemacht und löse die Editierbarkeit im Einzelnen über eine eigene Klasse, die von QItemDelegate erbt.
Soll ein Item editierbar sein, wird in der überschriebenen Methode
createEditor(...) der Default-Editor von QItemDelegate zurückgegeben. Soll
ein Item nicht editierbar sein, liefert meine Methode NULL zurück.
Items per setFlags(...) editierbar gemacht und löse die Editierbarkeit im Einzelnen über eine eigene Klasse, die von QItemDelegate erbt.
Soll ein Item editierbar sein, wird in der überschriebenen Methode
createEditor(...) der Default-Editor von QItemDelegate zurückgegeben. Soll
ein Item nicht editierbar sein, liefert meine Methode NULL zurück.