Hallo Franzf,
das Widget wird über eine seperate Klasse (screenload) in eine Fenster oder Dialog geladen, welche eine Konfigurationsdatei einliesst und anhand der entsprechenden Konfiguration entscheidet, welches Widget an welcher Position geladen wird.
Hierbei wird dem Widget selber die Konfigurationszeile mit übergeben (domelement), damit dieses sich die entsprechenden Infomationen aus der Zeile (Domelement) entnimmt.
Ich habe alle Funktionen und Konfiguration in das Widget gelegt, da nur dieses Objekt entscheidet, was es kann und was nicht. Alle Funktionen und Kunfigurationen sollen nur hier codiert sein, damit eine saubere Trennung der Funktionen vorhanden ist.
Aus diesem Grund schiebt es sich auch selber in die Scene. Es bekommt einen Pointer für die Position mitgeliefert. Einige Objekte müssen mit Additem eingetragen werden (lines,etc).
Derzeit habe ich für jedes Objekt eine seperate Klasse, abgeleitet von dem jeweiligen Ursprung z.B. "QPushButton" und dort meine zusätzlichen Funktionen eingefügt.
Da ich in fast allen Objekten die gleichen Grundfunktionen habe, dachte ich an eine Basis-Klasse für diese Funktionen und hätte diese an einer zentralen Stelle. Fehler und Erweiterungen müsste ich so nur einmal codieren.
Nur akzeptiert eine Scene ein solches Objekt wohl nicht. Daher meine Frage, ob es in den andere Möglichkeiten von C++ gibt eine solchen Funktion hinzubekommen.
Qt Script wird bereits von diesen Objekten verwendet, da innerhalb der Click-Routine der Benutzer selber entscheiden soll, was passiert.
Edit:
Wurde das ganze nicht mit einer virtuellen Vererbung gehen ?
http://de.wikibooks.org/wiki/Datei:Vererbung2.PNG
Schade, das löst immer noch nicht das Problem für die Scene (Toplevel)
Scheint in der Form wohl nicht zu gehen. Ich schliesse das Thema.
Gruss R.