In meinem QtreeView
verwende ich ein "QStandardItemModel" zum Anzeigen mehrerer Elemente mit einzelnen Eigenschaften. Ich möchte vermeiden, dass der Artikel nicht gemischt wird. z.B. Bananen sollten unter den Ländern Asien (höheres Niveau) auf Gemüse (gleiches Kind Niveau), aber nicht beweglich sein, nach Asien zu bewegen - Obst ist ok (gleiche Kind-Ebene)Wie zu vermeiden Drop auf Knoten
Probe
ich gearbeitet habe mit .itemChanged
aber es scheint zu spät. Ich brauche ein Signal vor wird es fallengelassen und das Element wo wird es fallen gelassen werden. Ich habe versucht, eventFilter
und
event.type() == QtCore.QEvent.DragMove:
erhalten, aber wie bekomme ich den Index des Elements, in dem der Punkt fallen gelassen werden wird, zu entscheiden, seine im selben Kind Ebene?
Ich habe Probleme mit Unterklassen, weil ich 'loadUIC' verwende, gelöst durch Kopieren der Einstellungen (Höhe, Breite). Aber das große ist, dass ich keine Lösung dafür gefunden habe, dass es nicht mehr möglich ist, die Einträge zu sortieren. Ich habe 'current.insertRow (current.row(), item)' ausprobiert, aber es fügt es als erstes Kind ein. "level" und "level" sind unterschiedlich, also muss es etwas anderes geben ... – Hans
Wenn Sie ein QTreeView über Qt Designer erstellen, dann bewerben Sie es einfach, um meine Klasse zu verwenden. – eyllanesc
Ich habe es mit 'self.structureTreeModel = TreeModel()' zugewiesen, aber es erscheint als zusätzliches Widget in meinem Fenster. – Hans