Seite 1 von 1

Delegate für neue Spalte in einem Modell wird überschrieben

Verfasst: 8. Mai 2013 10:35
von Käsetoast
Ich habe ein Problem mit meinem Modell für ein TreeView. Ich möchte eine neue Spalte einfügen und in dieser Spalte dann einen eigenen delegate nutzen, um die dortigen Daten zu editieren. Das klappt soweit auch alles und ist über setItemDelegateForColumn realisiert. Nun besteht mein Problem darin, dass wenn ich weitere Spalten einfüge die "alten" Spalten wieder den default Editor verpasst bekommen und eben nicht mehr den delegate. Gibt es hierfür eine elegante Problemlösung oder muss ich beim Einfügen jeder neuen Spalte komplett durch alle Spalten durchiterieren um wieder den passenden delegate zuzuweisen?

Re: Delegate für neue Spalte in einem Modell wird überschrie

Verfasst: 10. Mai 2013 09:41
von Käsetoast
Ich habe mir inzwischen eine eigene Lösung gebastelt. Es ist wohl so, dass die ItemDelegateForColumn Geschichte an den reinen Zahlenwerten für die Spalten festhält. Füge ich eine neue Spalte ein, rutschen einige Spalten ja eine Nummer höher und verlieren so ihren eigentlichen Delegate. Daher muss man sich händisch Abhilfe schaffen - ich habe das so gelöst, dass ich einfach einen for-loop ansetze, der sich die Anzahl der Spalten besorgt und dann zum Beispiel den Delegate der vorletzten Spalte auf die letzte Spalte überträgt und so weiter und so fort bis man halt bei der neue eingefügten Spalte angekommen ist und den for-loop per break beendet und dann den neuen gewünschten delegate zuweist...