Forum QGIS

Pełna wersja: Ładowanie XML w treeView (Qt)
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam,

Czy ktoś z was zetknął się z koniecznością załadowania XML-a do treeView w Qt (do wtyczki), gdzie określony znacznik jest początkiem korzenia, a jego dziecko pod częścią?

Po załadowaniu funkcją:


import xml.etree.ElementTree as et #z nagłówka
...
 tree = et.parse(path)
   root = tree.getroot()

próbuje sprawić, aby określony (<MechanizmKontroli>) znacznik (wszystkie jakie znajdzie) ładowały się do okna "treeView" jako korzenie, a występujące wewnątrz jego kolejne znaczniki, jako dzieci - wystarczy jedno "pokolenie".
Jednakże próba przypisania funkcją:

def displaytree(a,txt):
           for child in s:
         # Wybranie rodzajów kontroli z pliku do TreeView
             controls=QTreeWidgetItem(['GrupaKontroliAtrybutowych'])
             a.addChild(controls)# MechanizmKontroliAtrybutowych -> Grupa Kontroli atrybutowych
        displaytree(a,treeView)
i potem
treeView.treeWidget.addTopLevelItem(a)


kończy się okrzykiem: : local variable 'treeView' referenced before assignment

dodatkowo z pierwszego wiersza:
<SzablonKontroli xmlns="http://www.intergraph.pl/ctd" id="skbdt" version="3.8.2.25" xml:lang="pl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...>
tag "version" ma iść do listy rozwijalnej, z którego po wybraniu rodzaju mają poszczególne części kontroli iść do tree view (i dobrze by było, gdyby z nimi rysowały się checkboxy w celu zaznaczania która opcja z treeView ma być w późniejszych przetworzeniach)

Tree View ma wyglądać, jak jest w załączniku
Tak, korzystałem z tego i było bardzo pomocne!