Mit OpenGL grafische Benutzeroberflächen programmieren?



  • Im Prinzip müßte man doch mit OpenGL, z.B. mit freeglut auch grafische Benutzeroberflächen programmieren können oder?

    Wären die dann eigentlich kompatibel zu anderen Betriebssystemen, so daß man den Sourcecode nur nochmal neu kompilieren müßte?



  • Wirklich Spaß macht das nicht. Zumal das nur den Grafikteil betrifft. Andere Dinge wie Filesystem, Netzwerk, Datenbanken, Audio, Video, ... sind dann nicht dabei. Da wir im C/C++ Forum sind gibt es praktisch nur eine Lösung, und die heißt QT. Ich kenne keinen C++-Programmierer, der von dieser Klassenbibliothek nicht angetan ist.



  • Schade, daß Du mich nicht kennst. Aber kein Problem, wir werden uns noch kennenlernen.



  • muggabatscher schrieb:

    Ich kenne keinen C++-Programmierer, der von dieser Klassenbibliothek nicht angetan ist.

    Ich bekenne mich schuldig - ich hab' in meiner aktiven Zeit mit MFC gearbeitet und war damit vollkommen zufrieden 🤡



  • muggabatscher schrieb:

    Ich kenne keinen C++-Programmierer, der von dieser Klassenbibliothek nicht angetan ist.

    over here *fuchtel*

    redrew99 schrieb:

    Im Prinzip müßte man doch mit OpenGL, z.B. mit freeglut auch grafische Benutzeroberflächen programmieren können oder?

    Wären die dann eigentlich kompatibel zu anderen Betriebssystemen, so daß man den Sourcecode nur nochmal neu kompilieren müßte?

    Ja klar!?



  • Die Motivation des Fragestellers war doch Platformunabhängigkeit, oder?
    Ich kenne außer QT kein anderes umfassendes C++-Framework, mit dem das heute 2011 ernsthaft geht.



  • CStoll schrieb:

    muggabatscher schrieb:

    Ich kenne keinen C++-Programmierer, der von dieser Klassenbibliothek nicht angetan ist.

    Ich bekenne mich schuldig - ich hab' in meiner aktiven Zeit mit MFC gearbeitet und war damit vollkommen zufrieden 🤡

    Wann hattest du deine aktive Zeit? MFC war "damals" sicherlich in Ordnung, aber halt Windows-Only.



  • muggabatscher schrieb:

    Ich kenne außer QT kein anderes umfassendes C++-Framework, mit dem das heute 2011 ernsthaft geht.

    Für komplexes GUI verwendet man heute 2011 sowieso kein C++ 😉
    Abgesehen davon gibts genug davon

    Aber zugegeben, Qt ist sicherlich eines der Besten dies heute für C++ gibt und das stimmt mich immer wieder traurig...



  • Ist schon ein oder zwei Jahre her - und daß es nur für Windows zu gebrauchen war, war nie ein Problem 😉
    (aktuell habe ich mit Sal zu tun - und vermisse gelegentlich MFC)



  • dot schrieb:

    muggabatscher schrieb:

    Ich kenne keinen C++-Programmierer, der von dieser Klassenbibliothek nicht angetan ist.

    over here *fuchtel*

    redrew99 schrieb:

    Im Prinzip müßte man doch mit OpenGL, z.B. mit freeglut auch grafische Benutzeroberflächen programmieren können oder?

    Wären die dann eigentlich kompatibel zu anderen Betriebssystemen, so daß man den Sourcecode nur nochmal neu kompilieren müßte?

    Ja klar!?

    Naja, habe vorhin mal gegockelt nach OpenGL und bin dabei auf die Tutorials von Joachim Rohde http://www.joachimrohde.com/cms/xoops/modules/articles/article.php?id=5 gestoßen, gleich das erste Programm hat als erste Zeile:

    #indlude <windows.h>
    

    Beim Lesen hat mich das etwas verunsichert, weil man mit OpenGl doch eigentlich plattformübergreifend programmieren möchte(oder?),eine Windows-Bibliothek passt da nicht so recht ins Schema.



  • redrew99 schrieb:

    Beim Lesen hat mich das etwas verunsichert, weil man mit OpenGl doch eigentlich plattformübergreifend programmieren möchte(oder?),eine Windows-Bibliothek passt da nicht so recht ins Schema.

    OpenGL ist ein Standard. Wie genau OpenGL auf der jeweiligen Plattform implementiert ist hängt von der jeweiligen Plattform ab. Wenn du auf Windows bist musst du auch mit Windows reden, unter Linux mit Linux, das lässt sich nicht vermeiden. Libraries wie z.B. freeglut oder GLFW sind ja gerade dazu da um dir das abzunehmen aber eben in ihrer Mächtigkeit auch nur sehr begrenzt. Wenn du mehr willst als ein einfaches Fenster mit nem OpenGL Kontext und primitiven Eingabecallbacks bist du da auch schon ganz schnell wieder am Ende angelangt. Abgesehen davon ist GUI ja nicht alles wie schon gesagt wurde...



  • dot schrieb:

    Für komplexes GUI verwendet man heute 2011 sowieso kein C++ 😉
    Abgesehen davon gibts genug davon

    @dot
    Was wäre dann dein Favorit für platformunabhängige Programmierung?
    Hast du mit QT schon mal ein größeres Projekt im Team realisiert? Wir schon, und sind absolut zufrieden. Selbst die .NET- und Java-Kollegen sind, wenn sie sich darauf einlassen, zufrieden.



  • muggabatscher schrieb:

    Hast du mit QT schon mal ein größeres Projekt im Team realisiert?

    Nein, Qt war für mich in dem Moment gestorben als ich wusste was moc heißt.

    muggabatscher schrieb:

    @dot
    Was wäre dann dein Favorit für platformunabhängige Programmierung?

    Ich bin in der glücklichen Lage dass mich GUI auf anderen Plattformen als Windows nicht interessiert und dort gibts .NET.



  • dot schrieb:

    Nein, QT war für mich in dem Moment gestorben als ich wusste was moc heißt.

    Wo ist dein Problem? Den cpp-Präprozessor verwendest du in C++ ja auch. Wenn man die Funktionsweise mal verinnerlicht hat, kommt man bestens damit zurecht. Vielmehr ist der MOC und das Signal/Slot-Konzept die große Stärke an QT. Aber das ist ja nicht das Thema hier.

    dot schrieb:

    Ich bin in der glücklichen Lage dass mich GUI auf anderen Plattformen als Windows nicht interessiert und dort gibts .NET.

    Wir sind hier aber im C++-Forum und das Thema ist Platformunabhängikeit.



  • muggabatscher schrieb:

    dot schrieb:

    Nein, QT war für mich in dem Moment gestorben als ich wusste was moc heißt.

    Wo ist dein Problem? Den cpp-Präprozessor verwendest du in C++ ja auch. Wenn man die Funktionsweise mal verinnerlicht hat, kommt man bestens damit zurecht. Vielmehr ist der MOC und das Signal/Slot-Konzept die große Stärke an QT. Aber das ist ja nicht das Thema hier.

    Es geht nicht um zurechtkommen oder nicht sondern um einen wirklich zumindest grundlegenden Sinn für Ästhetik. Wenn vorhanden muss es einem eigentlich beim bloßen Gedanken alle Haare aufstellen, so gehts mir zumindest. Für signal/slots braucht man keinen Metacompiler, das lässt sich in reinem C++ lösen, boost.signal machts vor. Den Präprozessor verwende ich wie jeder vernünftige C++ Programmierer fast gar nicht (braucht man ja nicht), wenn dann für bedingte Kompilierung.

    muggabatscher schrieb:

    Wir sind hier aber im C++-Forum und das Thema ist Platformunabhängikeit.

    Oh, sry, ich dachte das Thema war ob man mit OpenGL ein GUI programmieren kann...aber stimmt, eigentlich sind wir im falschen Forum 😉



  • dot schrieb:

    aber stimmt, eigentlich sind wir im falschen Forum 😉

    Sowas l'sst sich leicht ändern 😃



  • Dieser Thread wurde von Moderator/in CStoll aus dem Forum C++ (auch C++0x) in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Ich hab zwar mit Boost noch nicht intensiv gearbeit, es ist aber sicherlich auch ein starkes Framework. Werde es mir bei Gelegenheit näher anschauen.
    Aber mit dem Hintergrund ein platformunabhängiges (3D?)-GUI-Programm zu schreiben, ist man mit QT sicherlich nicht schlecht bedient. Siehe Googleearth.
    Letztlich entscheidet die Transparenz des Frameworks, sprich die Möglichkeit internen Abläufe zu verstehen und effizient anzuwenden. Das ist mit QT für uns im Team gegeben. Wir sind in der Lage komplexe Software schnell und zuverlässig zu implementieren. Das haben die letzten Jahre bestätigt.



  • muggabatscher schrieb:

    Wir sind in der Lage komplexe Software schnell und zuverlässig zu implementieren. Das haben die letzten Jahre bestätigt.

    Das bestreit ich auch nicht, Qt ist sicherlich Praxiserprobt und funktioniert. Ändert aber nix dran dass ich Qt grottenhässlich find 😉



  • Jedem das Seine.
    Gute Nacht noch.




Anmelden zum Antworten