Seite 1 von 1

[closed] Designer Integration in eigener Applikation

Verfasst: 7. Juni 2007 19:56
von solarix
Hallo zusammen
Ich versuche eine Anwendung zu schreiben, welche ui-Files nicht nur laden (dazu gibt es genuegend Beispiele rund um QtUiTools und QFormBuilder), sondern auch erstellen und modifizieren kann. Im besten Fall soll ein offenes Fenster auf Event (z.B. Doppelklick oder Hot-Key) in einen Editiermodus versetzt werden. Sollte dies nicht gehen kann das Fenster auch parallel im Editiermodus geoeffnet werden. Oder anderst ausgedrueckt: meine Anwendung soll auch eine Art "Mini-IDE" werden.

Nun zum Problem: den ganzen IDE-Kram (Verschieben, Properties aendern usw.) sollte eigentlich der Qt Designer uebernehmen koennen. Trolltech schreibt, dass der Designer sowohl Stand-Alone, als auch als "IDE Integration" angewendet werden kann. Ich kann leider nur keinerlei Doku dazu finden. Das QtDesigner-Modul scheint nur fuer die Erweiterung des Designers zu funktionieren, nicht jedoch um Designer-Funktionalitaeten (ausser dem Laden) in der eigenen Applikation zu integrieren.

Hat jemand hier Erfahrung mit der Designer-Integration?

Verfasst: 18. Juni 2007 22:01
von solarix
<push>
zweiter (und letzter) Versuch:
Hat jemand Erfahrung in der Einbettung des Designers in der eigenen Applikation? Laden von ui-Files ist ja kein Problem, aber ich möchte dem Programm die Fähigkeit verpassen, zur Laufzeit Änderungen an den Oberflächen zu ermöglichen...

Verfasst: 18. Juni 2007 22:09
von upsala
Schon mal eine Anwendung gesucht, in der der Designer integriert ist und dort im Code nachgeschaut?

Verfasst: 18. Juni 2007 22:35
von solarix
jup.. leider fand ich bisher nur KDevelop. Eine spannende Klasse ist kdevdesigner/designer/formwindow.h
Leider ist da alles ausprogrammiert (keine Hilfsklassen von Qt). So wird dort z.B. Grid, Tab-Order-Icons und Focus selber gezeichnet. Das ist jedoch genau das, was ich nicht möchte... ich hoffe, das bei KDevelop dies nur altersbedingt so implementiert ist und Qt mittlerweile fertige Editor-Klassen hat..
Aber ich vermute dies bleibt ein Wunsch...

Verfasst: 18. Juni 2007 22:44
von ChMaster
haste schon mal bei Edyuk und MonkeyStudio geschaut?

denn ich glaube bei edyuk ist der designer integriert. schau einfach mal nach :)

Verfasst: 18. Juni 2007 23:03
von solarix
Edyuk sieht schon viel besser aus :D

QDesignerComponents::createFormEditor() scheint da so ein Kern-Stück zu sein (generieren einer FormEditor-Instanz)

es scheint nur keine offizielle Doku dazu zu geben.. es kommt deshalb nun auf einen Versuch drauf an... :wink:

Verfasst: 19. Juni 2007 10:41
von solarix
für Interessierte nur noch kurz die Fakten:

* Trolltech liefert nur Doku und Beispiele, wie der Designer erweitert (!) werden kann
* für die Einbettung in eigene Applikationen existiert keine Doku
* Kern des Designers ist libQtDesigner.so und libQtDesignerComponents.so
* Profile-Erweiterung für diese beiden Komponenten:

Code: Alles auswählen

CONFIG      += designer
# beim Linken fehlen leider die Components:
LIBS += -lQtDesignerComponents
Eine Anfrage bei einem Edyuk-Entwickler ergab ausserdem, dass die einfachste Applikation der Designer selbst ist. Interessierte starten am besten bei diesem Source-Code, denn alle IDE-Integrationen haben Projekt-spezifisches Zeugs darin und müssten zuerst bereinigt werden. Trolltechs Designer hingegen ist sauber auf den Komponenten aufgebaut.

Na dann.. Herausforderungen sind doch was schönes :wink:

Verfasst: 19. Juni 2007 12:19
von upsala
Das wäre auf jeden Fall was fürs Wiki.