1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › UI-Framework: Qt 5.5…

Qt in eigene Projekte einbinden? Idealerweise unter CodeBlocks?

  1. Thema

Neues Thema Ansicht wechseln


  1. Qt in eigene Projekte einbinden? Idealerweise unter CodeBlocks?

    Autor: smirg0l 02.07.15 - 17:04

    Bastel mit gerade meine eigene kleine Engine mit cpp/ogl und stehe seit einiger Zeit vor der Herausforderung eine GUI einzubauen. Um z.B. kleine Menüs zu bauen, wo ich per Slider, Checkbox, Eingabefeld Werte aus der Engine on-the-fly ändern kann. Würde sehr ungerne das Rad neu erfinden, eine halbwegs anständige GUI ist schon ein Haufen Arbeit und da gäbe es bessere Dinge, um die Zeit da zu investieren. :)

    Als IDE benutze ich übrigens CodeBlocks, das wird nicht ganz unwichtig sein?

    Hat jemand Erfahrung damit, evtl. gar eine Quelle, wie man ohne wahnsinnig zu werden Qt in ein eigenes Projekt einbindet? So wie ich das sehe, müsste ich alles innerhalb von Qt neu aufziehen, darauf habe ich grundsätzlich keinen Bock, das Tool soll sich schließlich an mich anpassen und nicht anders herum. :)

    Allerdings benutzt Qt ja ein eigenes Make-System, um den Qt-eigenen Kram vorab zu übersetzen. Und daran haperts bei mir, möchte ich das in CodeBlocks integrieren, da ich ja diese MakeFiles, bzw. das ganze Build-System von Qt irgendwie in meinen bestehenden Build-Prozess einbauen müsste. Und vom manuellen herumfummeln in MakeFiles habe ich noch nicht wirklich wahnsinnig viel Ahnung, die bastelt mir CodeBlocks beim compilen, bislang ist das für mich ausreichend.

    Oder habe ich hier einen grundsätzlichen Denkfehler, was Qt angeht und ich kann das nicht wirklich in mein eigenes Projekt einbinden, ohne daraus ein Qt-Projekt zu machen?

    Über Alternativen würde ich mich auch freuen. :)

    Bedankt!

  2. Re: Qt in eigene Projekte einbinden? Idealerweise unter CodeBlocks?

    Autor: Shadewalkerz 02.07.15 - 17:29

    Du kannst mit qmake object files erstellen und diese dann mit dem Linker deiner Wahl mit deinem anderen Code zur executable linken. Um qmake wirst du allerdings nicht drumrumkommen, wenn du Qt verwenden willst.

  3. Re: Qt in eigene Projekte einbinden? Idealerweise unter CodeBlocks?

    Autor: 476f6c656d 02.07.15 - 17:47

    Um qmake kommt man drum rum wenn man will. Es wird auch cmake unterstützt. Man braucht jedoch die ganzen Codegeneratoren wie den meta object compiler für Signals and Slots und Introspektion und den ganzen kram.

  4. Re: Qt in eigene Projekte einbinden? Idealerweise unter CodeBlocks?

    Autor: Arkarit 02.07.15 - 17:48

    smirg0l schrieb:
    --------------------------------------------------------------------------------
    > Bastel mit gerade meine eigene kleine Engine mit cpp/ogl

    So sehr ich Qt mag... wenn es wirklich eine kleine Engine ist, fände ich Qt einen gewaltigen Overkill. Man darf halt nicht vergessen, dass man sich dann immer direkt über 1GB SDK ans Bein bindet.

    Ich habe für was ähnliches MyGUI verwendet. http://mygui.info/
    Grafik-Anbindung habe ich nicht selbst geschrieben (Ogre-Anbindung war schon dabei), aber sollte nach dem, was ich so gesehen habe, relativ simpel sein.

  5. Re: Qt in eigene Projekte einbinden? Idealerweise unter CodeBlocks?

    Autor: smirg0l 02.07.15 - 18:15

    Arkarit schrieb:
    --------------------------------------------------------------------------------
    > smirg0l schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Bastel mit gerade meine eigene kleine Engine mit cpp/ogl
    >
    > So sehr ich Qt mag... wenn es wirklich eine kleine Engine ist, fände ich Qt
    > einen gewaltigen Overkill. Man darf halt nicht vergessen, dass man sich
    > dann immer direkt über 1GB SDK ans Bein bindet.
    >
    > Ich habe für was ähnliches MyGUI verwendet. mygui.info
    > Grafik-Anbindung habe ich nicht selbst geschrieben (Ogre-Anbindung war
    > schon dabei), aber sollte nach dem, was ich so gesehen habe, relativ simpel
    > sein.

    Das klingt interessant, gleich mal checken. Finde Qt auch ein wenig Overkill, aber kann halt alles. Was ich sonst so gefunden hatte, war nicht cross-plattform oder richtig fieses Gefummel. :/

    Danke auch für die anderen Feedbacks. :)

  6. Re: Qt in eigene Projekte einbinden? Idealerweise unter CodeBlocks?

    Autor: picaschaf 02.07.15 - 22:04

    Ei ei ei, schon wieder nur Halbwissen in der Hütte...

    qmake erzeugt keine Objectfiles ... qmake erzeugt ein Standard-Makefile das dann mit make gebaut werden kann. cmake und qbs werden auch out-of-the-box unterstützt.

    Code::Blocks, so gut es vllt. sein mag, würde ich nicht verwenden. Es unterstützt deine Arbeit nicht im Ansatz so gut wie Qt Creator.

    Und die Größe des SDK spielt überhaupt keine Rolle für die Applikation. Je nachdem welche und wieviele Komponenten du von Qt nutzt bist du beim Paketieren mit ca. 20-100 MB dabei. Das ist mehr als gut für den enormen Funktionsumfang. Falls du trotzdem ein Problem damit hast, hast du immernoch die Möglichkeit Qt selbst aus den Sourcen zu bauen und anzupassen. Dann geht der Footprint ab 1 MB los.

  7. Re: Qt in eigene Projekte einbinden? Idealerweise unter CodeBlocks?

    Autor: Abenglut 03.07.15 - 01:04

    Vor dem Problem standen wir auch bei unserer Engine. Die Gui selbst zu schreiben war uns zu anstrengend und online konnten wir auch nichts passendes finden.

    Turbo Badger hat eine schlechte Dokumentation und das Einarbeiten war uns zu langwierig, Qt zu groß, CEGUI benötigte zusätzlich FreeType2 und Perl C Refular Expression hat kein Inputmanagement, ...

    Wir haben uns am Ende für Imgui entschieden. Haben dann eine eigene GUI Klasse geschrieben um die Benutzung zu vereinfachen. Es ist minimalistisch und einfach.

    Ich schätze aber, dass es nicht besonders perfomant ist, da es in jedem Renderer Befehl neu aufgerufen wird. Vlt ist AntTweakBar eine Alternative.

    Hier findest du unsere Engine:
    https://github.com/GameEngineKoblenz/GeKo



    1 mal bearbeitet, zuletzt am 03.07.15 01:04 durch Abenglut.

  8. Re: Qt in eigene Projekte einbinden? Idealerweise unter CodeBlocks?

    Autor: smirg0l 05.07.15 - 09:59

    Danke für den Tip, Imgui ist zumindest für den Moment völlig ausreichend, denke ich.
    Wichtig war mir erst mal, dass ich Dinge relativ einfach ändern kann, während die Engine läuft und dafür brauchte ich eine GUI, wo ich nicht erst noch studieren muss, um die einzusetzen.
    Das leistet Imgui so weit.

    Ist nur ein wenig tricky, da viele zu editierende Werte protected sind, Imgui aber direkt auf die Werte zugreifen will.
    Auch Callbacks habe ich da jetzt nicht gesehen, wird, wo weit ich das sehe, auch nicht mal eben eingebaut sein.
    Mit std::string ists auch so eine Sache, Imgui arbeitet mit char*.
    Auf Texturen rendern habe ich auf die Schnelle noch nicht hinbekommen, aber ein drittes Fenster tut es zur Not auch erst mal. :)

    Viele kleine Herausforderungen, aber das war zu erwarten. Unterm Strich kann es mit wenig Aufwand relativ viel, ob es das richtige Tool ist, kommt sicher auf den Einsatzzweck an.
    Zum besseren Debuggen auf jeden Fall gut brauchbar. Performance ist überraschenderweise gut. K/a wie das aussieht, wenn da erst mal der komplette SceneGraph abgebildet wird und das in jedem Frame neu...

    Und danke für den Link zum Git, bestimmt sehr interessant zum stöbern, wie andere die Dinge so lösen/umsetzen. :)

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. EDAG Engineering GmbH, Mönsheim
  2. Stiftung Kirchliches Rechenzentrum Südwestdeutschland, Eggenstein-Leopoldshafen
  3. Elektrobit Automotive GmbH, Ulm
  4. Landeshauptstadt München, München

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote


Haben wir etwas übersehen?

E-Mail an news@golem.de


Interview: Die Liebe für den Flight Simulator war immer da
Interview
"Die Liebe für den Flight Simulator war immer da"

Die prozedural erstellte Erde, der Quellcode vom letzten MS-Flugsimulator und eine Gemeinsamkeit mit Star Citizen: Golem.de hat mit Jörg Neumann über Technik und das Fliegen gesprochen. Neumann leitet bei Microsoft die Entwicklung des Flight Simulator.
Ein Interview von Peter Steinlechner

  1. Flug-Simulation Microsoft bereitet Alphatest des Flight Simulator vor
  2. Microsoft Neuer Flight Simulator soll Fokus auf Simulation legen

Arbeitsklima: Schlangengrube Razer
Arbeitsklima
Schlangengrube Razer

Der Gaming-Zubehörspezialist Razer pflegt ein besonders cooles Image - aber Firmengründer und Chef Tan Min-Liang soll ein von Sexismus und Rassismus geprägtes Arbeitsklima geschaffen haben. Nach Informationen von Golem.de werden Frauen auch in Europa systematisch benachteiligt.
Ein Bericht von Peter Steinlechner

  1. Razer Blade Stealth 13 im Test Sieg auf ganzer Linie
  2. Naga Left-Handed Edition Razer will seine Linkshändermaus wieder anbieten
  3. Junglecat Razer-Controller macht das Smartphone zur Switch

Quantencomputer: Intel entwickelt coolen Chip für heiße Quantenbits
Quantencomputer
Intel entwickelt coolen Chip für heiße Quantenbits

Gebaut für eine Kühlung mit flüssigem Helium ist Horse Ridge wohl der coolste Chip, den Intel zur Zeit in Entwicklung hat. Er soll einen Quantencomputer steuern, dessen Qubits mit ungewöhnlich hohen Temperaturen zurechtkommen.
Von Frank Wunderlich-Pfeiffer

  1. AWS re:Invent Amazon Web Services bietet Quanten-Cloud-Dienst an
  2. Quantencomputer 10.000 Jahre bei Google sind 2,5 Tage bei IBM
  3. Google Ein Quantencomputer zeigt, was derzeit geht und was nicht

  1. Half-Life: Testspieler schaffen 2 bis 3 Stunden Alyx am Stück
    Half-Life
    Testspieler schaffen 2 bis 3 Stunden Alyx am Stück

    Virtual Reality kann anstrengend sein, das nur für VR geplante Half-Life Alyx soll aber Spaß machen - so viel, dass sich Spieler im Versuchslabor länger damit beschäftigen als vom Entwickler erwartet. Valve hat noch ein paar weitere neue Informationen zum Gameplay veröffentlicht.

  2. Soziales Netzwerk: Medienanstalt geht wegen Pornografie gegen Twitter vor
    Soziales Netzwerk
    Medienanstalt geht wegen Pornografie gegen Twitter vor

    Laut der Medienanstalt Hamburg/Schleswig-Holstein macht sich Twitter strafbar, indem es Profile nicht sperrt oder löscht, die pornografisches Material verbreiten. Ein entsprechendes Verfahren ist eingeleitet worden, es drohen ein Bußgeld und eine Untersagung.

  3. The Eliminator: Forza Horizon 4 bekommt Battle-Royale-Modus
    The Eliminator
    Forza Horizon 4 bekommt Battle-Royale-Modus

    Bis zu 72 Fahrer können an einem neuen Battle-Royale-Modus namens The Eliminator teilnehmen, den Microsoft kostenlos für das Rennspiel Forza Horizon 4 anbietet. Einzige Regel: möglichst lange überleben.


  1. 17:28

  2. 16:54

  3. 16:26

  4. 16:03

  5. 15:17

  6. 15:00

  7. 14:42

  8. 14:18