Seite 1 von 1

Qt4 XML DataModel

Verfasst: 5. Oktober 2005 12:23
von thymythos
Ich würde gerne ein möglichst abstraktes DataModel für Qt4 entwerfen, dass XML-Dateien liest. Sicher ist dies nicht einheitlich für alle XML-Dateien möglich, aber meine Klasse sollte eine möglichst breite Basis für eigene Erweiterungen darstellen.

Welche Anforderungen hättet ihr an eine solche Klasse?

Erben soll diese natürlich von

Code: Alles auswählen

QAbstractItemModel
Am Ende sollen Klassen stehen, die sich ähnlich wie

Code: Alles auswählen

QSqlTableModel
bzw.

Code: Alles auswählen

QSqlRelationalTableModel
verhalten.

Verfasst: 5. Oktober 2005 15:47
von FlorianBecker
Also wirklich cool wäre sowas ala XML Datei einen Konfigdialog zu bauen, wo trotzdem nur die Values, Werte und Gruppen enthalten sind. Zu einem View für XML habe ich so überhaupt keine Verwendung.

Bsp:

Code: Alles auswählen

<xmlconfig>
  <group id="test">
    <value id="value1" type="string">Hier Option eintragen</value>
    <value id="value2" type="string">Hier Option eintragen</value>
    <value id="value3" type="string">Hier Option eintragen</value>
    <value id="value4" type="string">Hier Option eintragen</value>
    <value id="value5" type="string">Hier Option eintragen</value>
  </group>
</xmlconfig>
Und das erstellt dir dann eine GroupBox mit dem Namen "test" und 5 LineEdits, die jeweils die Werte "Hier Optionen eintragen" haben.

Wenn ich nun die Optionen ändere werden die dann direkt in die XML Datei zurück geschrieben.

Gut, ist natürlich eine Idee, die mir gerade kam. Es fehlen also mit Sicherheit noch die ein oder anderen Tags. Z.B. auch um mehrere Seiten zu gestalten.

Verfasst: 5. Oktober 2005 15:52
von thymythos
Genau diese Funktion gibt es ja bereits in KDE. Vielleicht kann man das auch portieren.

Ich bräuchte allerdings alternative Datenhaltung entweder in einer SQL Datenbank oder in einer XML Datei.

Der Config-Dialog wäre dann halt z.B. ein QTableView, statt LineEdits für jeden Wert.

Verfasst: 5. Oktober 2005 16:03
von FlorianBecker
Ja, ok, so wie Windows das teilweise macht, denn die steuern auch noch, ob es z.B. eine ComboBox in einem QTableView ist.

Dann kannst aber auch gleich die Klasse von lepsai kaufen, eben die ValueBrowser Klasse: http://www.ku-soft.de/vbrowser.html