[Qt] Fenster aus .ui Datei erstellen
Verfasst: 18.04.2011, 22:57
Ich bastle gerade an dem Editor für mein RPG. Damit der ganze Code schön sauber und Strukturiert ist, soll er aus einzelnen Tools bestehen, z.B. "Entity hinzufügen", "Entity Eigenschaften bearbeiten" oder "Bodentextur bemalen". Jedes Tool hat dementsprechend ein Fenster, wo alle benötigten Widgets drin sind, die Tool Fenster sollen jeweils DockWidgets sein, damit man sich das Layout schön selber bearbeiten kann.
Das ganze im Qt Designer zusammenklicken war kein Problem, aber jetzt möchte ich jedes Tool Fenster in einer eigenen .ui Datei definieren, und das will einfach nicht klappen. Ich habe mehrere Wege ausprobiert, und alle haben auf ihre Art nicht funktioniert. Mal wurde das Layout nicht der Fenstergröße angepasst, mal wurden die Events nicht automatisch verbunden und mal hat man einfach gar nix gesehen.
Mein Prinzipieller Versuch war es, in jeder Tool ui Datei ein Widget zu haben, dass dann im Editor beim laden einem entsprechenden DockWidget hinzugefügt wird. Jetzt weiß ich aber nichtmal so genau, wie die Toolklasse aussehen sollte, sollte man lieber ein ui Attribut von der generierten ui-Klasse haben (sowas ähnliches hat man ja, wenn man einfach mit dem Wizard sich ein normales Hauptfenster erstellt), oder direkt von dieser Klasse erben? Da in der Tool Klasse ja die Eventhandler definiert sein sollen, schien mir letzteres irgendwie sinnvoller, aber geklappt hat das auch nicht.
Naja, vielleicht hat jemand sowas ähnliches ja schonmal gemacht und kann mir sagen, wie ich das grob strukturieren sollte.
Das ganze im Qt Designer zusammenklicken war kein Problem, aber jetzt möchte ich jedes Tool Fenster in einer eigenen .ui Datei definieren, und das will einfach nicht klappen. Ich habe mehrere Wege ausprobiert, und alle haben auf ihre Art nicht funktioniert. Mal wurde das Layout nicht der Fenstergröße angepasst, mal wurden die Events nicht automatisch verbunden und mal hat man einfach gar nix gesehen.
Mein Prinzipieller Versuch war es, in jeder Tool ui Datei ein Widget zu haben, dass dann im Editor beim laden einem entsprechenden DockWidget hinzugefügt wird. Jetzt weiß ich aber nichtmal so genau, wie die Toolklasse aussehen sollte, sollte man lieber ein ui Attribut von der generierten ui-Klasse haben (sowas ähnliches hat man ja, wenn man einfach mit dem Wizard sich ein normales Hauptfenster erstellt), oder direkt von dieser Klasse erben? Da in der Tool Klasse ja die Eventhandler definiert sein sollen, schien mir letzteres irgendwie sinnvoller, aber geklappt hat das auch nicht.
Naja, vielleicht hat jemand sowas ähnliches ja schonmal gemacht und kann mir sagen, wie ich das grob strukturieren sollte.