Seite 1 von 1

XML Datei in QML anzeigen

Verfasst: Dienstag 31. März 2026, 12:12
von helloBavaria
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?

Re: XML Datei in QML anzeigen

Verfasst: Mittwoch 1. April 2026, 10:22
von __blackjack__
@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‽

Re: XML Datei in QML anzeigen

Verfasst: Mittwoch 1. April 2026, 13:35
von snafu
Soll das am Ende so etwas ähnliches werden wie Regedit unter Windows, nur eben mit XML statt Registry-Einträgen?

Re: XML Datei in QML anzeigen

Verfasst: Dienstag 14. April 2026, 09:45
von helloBavaria
@__blackjack__ Direkt in QML kann JavaScript verwendet werden. Ich möchte das auch machen. Für das komplette Backend wäre aber Javascript nicht ausreichend, daher möchte ich hier Python verwenden. Die Verbindung zwischen QML und Python funktioniert mittels PySide6.

@snafu: Ja ich würde sagen das geht in die richtige Richtung, so ungefähr hätte ich mir das vorgestellt

Re: XML Datei in QML anzeigen

Verfasst: Dienstag 14. April 2026, 19:37
von noisefloor
Auf deutsch: du brauchst einen XML-Editor für Qt. Gibt's doch einige... Keine Ahnung, welche davon aktuell noch weiter entwickelt werden Mit dem Suchbegriff "qt xml editor" kriegst du bei Google eine ganze Reihe brauchbarer Suchtreffer.

Gruß, noisefloor

Re: XML Datei in QML anzeigen

Verfasst: Mittwoch 15. April 2026, 01:05
von snafu
Hier ein paar Screenshots von QXmlEdit:
https://qxmledit.org/gallery.html

Vielleicht ist da schon was Passendes dabei.

Re: XML Datei in QML anzeigen

Verfasst: Mittwoch 15. April 2026, 09:27
von __blackjack__
Ich denke es ging eher darum die Fähigkeit in einem eigenen Programm zu haben, als einen zusätzlichen, externen Editor.

Re: XML Datei in QML anzeigen

Verfasst: Mittwoch 15. April 2026, 13:44
von helloBavaria
__blackjack__ hat geschrieben: Mittwoch 15. April 2026, 09:27 Ich denke es ging eher darum die Fähigkeit in einem eigenen Programm zu haben, als einen zusätzlichen, externen Editor.
Genau das ist der Punkt.

Es gibt auch ein paar QT-Codebeispiele für XML-Editoren, soweit ich gefunden habe verwendet die aber alle C++ als Backend und leider nicht Python.

Re: XML Datei in QML anzeigen

Verfasst: Mittwoch 15. April 2026, 14:13
von snafu
Mir ging es um den Quelltext zum verlinkten Qt basierten Programm. Wobei ich vorher nicht nachgesehen habe, wie der Code aufgebaut ist.

Qt in C++ lässt sich relativ einfach in Python übertragen. Die Klassen und Methoden heißen ja genau so. Wahrscheinlich können mittlerweile sogar KIs den Grundstein dazu liefern. Bisschen mitdenken und anpassen müssen wird man das Ergebnis sicherlich trotzdem noch.