C++ und GUI



  • 1. Für GUI-Programmierung brauchst du, wie schon erwähnt, gute Vorkenntnisse in C++. Unerlässlich sind natürlich Klassen und Vererbung. Qt ist sicherlich gut geeignet und am weitesten verbreitet.
    Ein GUI-Toolkit erfordert immer einiges an Einarbeitung, besonders, wenn es das Erste ist und du noch nie eine Library kompiliert hast.

    2. Windows Forms ist natürlich schon integriert. Programme, die mit WinForms erstellt wurden, laufen aber nur auf Windows. Außerdem sind sie wahrscheinlich auch nicht so modern, ganz zu schweigen von der Windows API, zu der unter anderem windows.h gehört.



  • Ich habe mit den Windows Forms nicht allzu viel Erfahrung, habs nur kurz mal angetestet. Ich fand es jetzt allerdings nicht gerade umwerfend. Aber da kann dir einer, der mehr Erfahrung damit hat, mehr dazu sagen.

    Ein Vorteil vom Qt Framework ist halt, dass es Platformunabhängig ist. Heisst wenn du plötzlich mal etwas für ein anderes Betriebssystem programmieren möchtest musst du nicht umstellen.



  • Kennt denn einer ein gutes Tutorial zu C++ Gui?
    Ich würde das lieber erstmal mit C++ machen und wenn ich das dann drauf habe auf Qt wechseln^^



  • Das Qt Framework ist für C++ ausgelegt. Wenn mich nicht alles täuscht ist Qt in C++ geschrieben 😉 Die Windows API ist C, kein C++. Und ist halt auch veraltet.

    Es ist so, dass C++ von Haus aus kein GUI unterstützt wie z.B. Java. Dafür gibt es gute, moderne Frameworks wie Qt. Für Qt gibt es auch gratis eine recht schöne IDE und auch gute Tutorials und haufenweise Beispiele.



  • icarus2 schrieb:

    Die Windows API ist C, kein C++. Und ist halt auch veraltet.

    Wenn die Windows API veraltet wäre, wären es die ganzen Toolkits, die darauf aufbauen, auch.



  • hm...
    Kann mir denn einer ein Beispiel Code geben?
    Ein Fenster mit einem Button oder so etwas?



  • Auf das "von Haus aus GUI" von Java kann ich aber auch gut verzichten!



  • Ich habe mal was damit ausprobiert aber bei allen Sachen kommt immer dieser Fehler:

    Das 'make'-Kommando 'make' konnte in der Build-Umgebung nicht gefunden werden
    Fehler beim Erstellen des Projekts TuT(Ziel: Desktop)
    Bei der Ausführung von Build-Schritt 'Make'

    Kann einer mir weiterhelfen?



  • Bezüglich C++ und Windows Forms:
    http://www.c-plusplus.net/forum/263084



  • Diegorn schrieb:

    1.Ich bin "Neuling" in C++ und wollte mal Fragen ob einer von euch ein gutes Tutorial für C++ GUI kennt?

    http://win32-framework.sourceforge.net/



  • Das ist ja mal grausam, noch so ein Präfix-Faschist.



  • Einfach in der entsprechenden Spalte jede Menge C's in Hintergrundfarbe auf den Bildschirm malen, schon hat sich das Problem erledigt 😉



  • 😃



  • @Diegorn

    Das 'make'-Kommando 'make' konnte in der Build-Umgebung nicht gefunden werden

    Zum programmieren gehört auch das beherschen der Umgebung. Compiler - Linker - BuildTools. Grad wenn Du 3.party Frameworks einbinden willst/musst, wirst viel freude haben 🙂
    Da musst wirklich sattelfest sein und erweiterte Kenntnisse über Compiler-Suiten haben.
    Bei deinem Problem, ich weiss ned was Du da ausführst, aber Visual Studio verwendet sein eigenes make -> nmake. Du hasst von irgendwas sicher nen script ne Befehlszeile drin, was ned auf VS passt.

    Ansonsten zu C++ und GUI's.
    Generell, zum Einstieg such Dir ne einfache. Qt ist nicht perfekt, aber eine der besseren Lösungen. Lass Dich aber nicht von Qt Mechanismen verleiten, die gegen C++ Designgrundlagen verstossen 🙂 Trenne also strikt zwischen GUI programmierung mit c++ mitteln (fuer die GUI) und c++ Programmierung fuer die Logik, nach c++ Design. Dann wirst mit Qt super gut fahren.

    Behalt aber auch im Hinterkopf, das es andere Frameworks gibt. Und das jedes Framework Vor und Nachteile hat.
    Ne WinApi App von nem Experten (in Selbstgeisselung 😃 ) geschrieben, da wird in Sachen performance die Qt immer abloosen.
    Die Mfc wird auch in vielen Bereichen schneller sein.
    Bleibt die Frage, muessen GUI's schnell sein, oder muss man nur gut entkoppeln können ?
    Spiele, Multimedia Anwendungen wirst wohl nicht mit Qt, Mfc, weniger mit Winapi entwickeln, sondern eher mit OpenGL und DirectX, das wieder nen komplett anderes Thema.

    Als "richtiger Programmierer" solltest dich eh schnell in andere Frameworks, inklusive GUI's, einarbeiten können.
    Die Kunst ist eher sich fuer die richtige zu entscheiden, auch wenn man Vorlieben hat 🙂

    Ciao ....



  • Ich hatte ja ein anderes Programm mit dem ich gearbeitet habe (AutoIT) damit habe ich dann auch GUI's programmiert da das Programm aber veraltet ist wollte ich was neues machen. Ich habe mir paar Video TuT's angesehen und auch verstanden aber ich finde nichts für GUI's wenn einer ein gutes kennt kann der das dann bitte hier posten?

    Und das mit "make" kommt bei jedem Script egal was da drinsteht aber auch nur bei Qt!



  • Woher hast du denn Qt? Besitzt du C++-Kenntnisse? Was für eine Qt-Datei hast du heruntergeladen?



  • Wenn es der QtCreator sein sollte, dann fehlt bestimmt der Eintrag des MinGW bin Verzeichnisses in der Path Umgebungsvariable.



  • Könntet ihr mir ein kleines TuT machen welche Datei das ist? Und wie man das macht mit dem make?



  • aber ich finde nichts für GUI's

    Gute Tuts für deine Bedürfnisse wirst weniger in der c++ ecke finden (nochmal betont, GUI's sind nicht bestandteil der Programmiersprache an sich, GUI's werden immer durch Frameworks oder C-Schnittstellen des Betriebssystems / Fenstersystems abgedeckt), sondern da wirst direkt nach dem Toolkit suchen muessen.

    Such doch mal nach QT tutorial ... wenn da nix findest, dann wird dir keiner helfen können 🙂

    andere Toolkits z.b waeren:
    Mfc,
    wxWidgets,
    GTK, (C)
    Motif, (C)
    gtk++
    ...

    C-Schnittstellen vom Betriebssystem / Fenstersystem, da wirst mehr C als C++ beispiele finden:
    WINAPI
    XFree
    ....

    2D/3D/Multimedia Schnittstellen (nicht "Fenster" und Controls orientiert, sondern auf eigenes schnelles zeichnen und wiedergeben von Multimedia inhalten)
    OpenGL - genereller Standard
    DirectX - Schnittstelle fuer windowseigene Multimediabibliothek

    Mehr Abstrahierende Bibliotheken, die auf die basis-Multimediaschnittstellen aufsetzen (und diese plattformunabhangig machen)
    SDL,
    Ogre,
    ...

    Jetzt hasst paar stichworte, wonach googlen kannst ! 😃

    Ciao ...



  • hast schonmal hier geguckt? oder ich glaub charles petzold hat ein gutes buch über das MS-win-gedönse geschrieben...

    [url]
    http://developer.gnome.org/gtkmm-tutorial/3.2/index.html.en
    [/url]


Anmelden zum Antworten