XML Datei in QML anzeigen

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
helloBavaria
User
Beiträge: 13
Registriert: Donnerstag 17. Februar 2022, 11:32

Hallo Zusammen,

ich möchte gerne eine XML-Datei über Python einlesen und in QML anzeigen und bearbeiten können.

Die XML-Datei schaut im groben so aus:

Code: Alles auswählen

<ressource>
	<menu id="Root">
		<item id = "Obs">
			<subMenu>obst</subMenu>
			....
		</item>
	</menu>
	<menu id="Obst">
		<item id = "Banane">
			<farbe>"Gelb</farbe
			<subMenu>Banane</subMenu>
			....
		</item>
	</menu>
	<menu id="Banane">
		<item id = "Kalorien">
			....
		</item>
	</menu>
Optisch sollten erst alle Elemente von Root angezeigt werden. Klickt man auf Obst, sollte sich das Menü "Obst" öffnen, Klickt man auf "Banane" das Menü von Banane usw., Stichwort "Baumstruktur".
Mir ist bisher gelungen die XML Datei in Python mittels xml.etree.ElementTree einzulesen und in QML in einer Treeview darzustellen. Ziel wäre, später die properties der einzelnen Elemente ändern zu können, die Elemente per Drag & Drop neu anordnen zu können und neue Elemente hinzufügen zu können sowie nicht mehr benötigte löschen zu können.

Wie gesagt, die Elemente unter Root kann ich mir anzeigen lassen, aber ich kann die submenus nicht öffnen. Daher bin ich mir nicht mehr sicher, ob das Konzept so stimmig ist.

Ist der Treeview hier vielleicht der falsche Ansatz? Wie sollte man sowas von der Architektur her aufbauen?
Benutzeravatar
__blackjack__
User
Beiträge: 14366
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@helloBavaria: Das ist alles ein bisschen abstrakt und schwammig um da konkret etwas sagen zu können. Und QML ist ja auch eher JavaScript und nicht Python‽
“It is easier to optimize correct code than to correct optimized code.” — Bill Harlan
Benutzeravatar
snafu
User
Beiträge: 6960
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Soll das am Ende so etwas ähnliches werden wie Regedit unter Windows, nur eben mit XML statt Registry-Einträgen?
Antworten