Code::Blocks als reines GUI Design Tool



  • Bin gerade dabei eine GUI mit WxWidgets zusammen bauen. Dafür habe ich mir den WxFormBuilder geladen, allerdings gefällt mir dessen Funktionsweise nicht so recht. Würde gern die erstellten Controls einfach per Drag & Drop hin und herschieben.

    Habe mir mal Code::Blocks heruntergeladen und installiert. Da ist ja ein Designer dabei, womit man die GUI einfach per Klick hin und her schiebt. Wisst ihr zufällig, ob es erlaubt ist, diesen generierten Code einfach in meinem VS2019 zu nutzen? Sozusagen würde ich Code::Blocks nur als Designer nutzen.

    Edit: Oder kennt ihr noch andere Designer. Bin auch bereit dafür zu zahlen, allerdings nicht wie bei QT jährlich soviel.



  • @humbidu sagte in Code::Blocks als reines GUI Design Tool:

    Wisst ihr zufällig, ob es erlaubt ist, diesen generierten Code einfach in meinem VS2019 zu nutzen?

    Ja.

    Nochmal zum nachlesen - wxWidgets Lizenz: https://www.wxwidgets.org/about/licence/
    Und Code::Blocks kann nicht festschreiben (das macht AFAIK keine IDE, das wär ja verrückt) was du mit dem anstellst was du damit erstellst.



  • Ok, danke dann bin ich wieder ein Stückchen weiter.

    Wenn ich fragen darf, welchen Designer nutzt ihr für wxWidgets?



  • @humbidu Keine 😉 Ich finde generierten Code schrecklich zu lesen. Wenn man da mal was dran anpassen muss ist das eine Qual. Daher schreibe ich GUI Code von Hand. Das hilft auch die Funktionsweise von wxWidgets zu verstehen, falls mal was nicht so funktioniert, wie manes sich erhofft hätte.



  • @Schlangenmensch sagte in Code::Blocks als reines GUI Design Tool:

    @humbidu Keine 😉 Ich finde generierten Code schrecklich zu lesen.

    Die meisten GUI-Toolkits haben spezielle Funktionalität, um mit GUI-Tools generierte Oberflächen zu nutzen. Dann wird auch kein Code generiert sondern meist eine XML-Datei eingelesen und die GUI-Elemente generiert. Bei Gtk ruft man den Builder mit dem Dateinamen der betreffenden Datei auf, und kann dann anschließend die GUI-Elemente mit dem Namen aus dem GUI-Builder aufrufen.



  • @john-0 Wenn man die GUI via xml spezifiziert hat man aber noch eine Abängigkeit mehr um das xml in eine binary umzuwandeln. Außerdem, macht es das wirklich übersichtlicher, wenn man mal schnell was anpassen will? Wie sieht es aus, wenn man da was debuggen muss?

    Ich habe schon länger nicht mehr in GUI Editoren rein geschaut, als ich es das letzte mal getan habe (QTDesigner, QT Addin für Eclipse und Code::Blocks) fand ich es jeweils leichter die GUI von Hand zu schreiben, damit sie wirklich so aussieht, wie ich sie mir vorgestellt habe. Aber es kann gut sein, dass sich da in den letzten Jahren noch was getan hat und ich mir das nochmal angucken sollte.



  • @Schlangenmensch sagte in Code::Blocks als reines GUI Design Tool:

    @john-0 Wenn man die GUI via xml spezifiziert hat man aber noch eine Abängigkeit mehr um das xml in eine binary umzuwandeln. Außerdem, macht es das wirklich übersichtlicher, wenn man mal schnell was anpassen will? Wie sieht es aus, wenn man da was debuggen muss?

    Das XML wird nicht umgewandelt, es wird direkt genutzt. Wenn man es nicht offen herumliegen haben will, kann man z.B. verschlüsseln, im Speicher entschlüsseln und daraus das GUI generieren lassen. Oder man nutzt eine Resource, dann gibt es ein externes Tool was die XML Datei in eine Resourcedatei umwandelt. Dann kann man nicht mehr die XML Datei so ohne weiteres verändern.

    Wenn man schnell etwas am GUI ändern will, startet man direkt den GUI-Editor und muss nichts neu übersetzen, und sieht gleich die Änderung am GUI.

    Das Debugging erfolgt ganz normal, wie man das sonst auch macht. Benutzt werden die Elemente so wie man das sonst auch gewohnt ist. Einzig man erzeugt die Objekte nicht selbst, sondern lässt sie sich durch die Factory des Builders generieren, der als Parameter den Namen des Objekts und einen passenden Rückgabezeiger erwartet.


Anmelden zum Antworten