QTableView clonen / duplizieren / Voreinstellung übernehmen
Verfasst: 20. März 2010 20:37
Hallo,
mit dem QtDesigner von Qt4.6 habe ich eine UI erstellt, die ein QTableView Objekt namens "table" enthält. Dort möchte ich nacheinander verschiedene Models bzw. Datenbanken mit jeweils spezifischen Einstellungen anzeigen.
Im Menü des Fensters kann man auswählen welchen Daten angezeigt werden sollen, dann wird das entsprechende QXYZModel erzeugt und je nach Notwendigkeit, Spalten ausgeblendet, Editierbarkeit aktiviert, SQL-Fremdschlüssel eingebunden ... .
Um nun nicht bei jeder Änderung des Models (bzw. der DB) alle vorher gemachten Einstellungen wieder rückgángig machen zu müssen, habe ich mir gedacht, gleich einen neuen QTableView zu erzeugen und gegen "table" auszutauschen.
Wie bekomme ich jetzt aber die Standardeinstellungen, die ich mit dem QtDesigner gemacht habe in das neue QTableView-Object?
Ich möchte QtDesigner weiter nutzen, da es a) bequem ist und b) ggf. auch andere Nicht-Programmierer das Fenster anpassen sollen.
===
Ich habe in einem Thread von 2006 gelesen, das Qt keinen Copy-Constructor hat, ich finde auch keine clone()-ähnliche Funktion. Damit hätte ich "table" zu Beginn des Programms dupliziert, später diese Kopie immer wieder geklont und so die Standardwerte übernommen.
===
Ich finde auch keine Möglichkeit, ein Sub-Objekt anzulegen, welches die Einstellungen von "table" erbt. In etwa so: Ich erzeuge "QTableView *subtable" so, dass es alle Einstellungen von "table" übernimmt, außer sie werden direkt in "subtable" verändert. Dann könnte ich "table" am Beginn meines Programmes sichern und im Fenster durch ein neues "subtable" ersetzen. Mit jeder Änderung der Datenbank würde ich "subtable" loschen und ein neues Object erzeugen.
===
Gibt es eine Möglichkeit?
Danke, Steffen
mit dem QtDesigner von Qt4.6 habe ich eine UI erstellt, die ein QTableView Objekt namens "table" enthält. Dort möchte ich nacheinander verschiedene Models bzw. Datenbanken mit jeweils spezifischen Einstellungen anzeigen.
Im Menü des Fensters kann man auswählen welchen Daten angezeigt werden sollen, dann wird das entsprechende QXYZModel erzeugt und je nach Notwendigkeit, Spalten ausgeblendet, Editierbarkeit aktiviert, SQL-Fremdschlüssel eingebunden ... .
Um nun nicht bei jeder Änderung des Models (bzw. der DB) alle vorher gemachten Einstellungen wieder rückgángig machen zu müssen, habe ich mir gedacht, gleich einen neuen QTableView zu erzeugen und gegen "table" auszutauschen.
Wie bekomme ich jetzt aber die Standardeinstellungen, die ich mit dem QtDesigner gemacht habe in das neue QTableView-Object?
Ich möchte QtDesigner weiter nutzen, da es a) bequem ist und b) ggf. auch andere Nicht-Programmierer das Fenster anpassen sollen.
===
Ich habe in einem Thread von 2006 gelesen, das Qt keinen Copy-Constructor hat, ich finde auch keine clone()-ähnliche Funktion. Damit hätte ich "table" zu Beginn des Programms dupliziert, später diese Kopie immer wieder geklont und so die Standardwerte übernommen.
===
Ich finde auch keine Möglichkeit, ein Sub-Objekt anzulegen, welches die Einstellungen von "table" erbt. In etwa so: Ich erzeuge "QTableView *subtable" so, dass es alle Einstellungen von "table" übernimmt, außer sie werden direkt in "subtable" verändert. Dann könnte ich "table" am Beginn meines Programmes sichern und im Fenster durch ein neues "subtable" ersetzen. Mit jeder Änderung der Datenbank würde ich "subtable" loschen und ein neues Object erzeugen.
===
Gibt es eine Möglichkeit?
Danke, Steffen