GUI-Programmierung
-
Hallo,
ich habe mich jetzt mal durch die ganzen FAQ gewühlt, und habe noch eine Frage zur GUI-Programmierung mit C++. Hoffentlich bin ich hier im richtigen Forum.

Verstanden habe ich jetzt, dass man da in Low-Level und High-Level unterscheidet. Da es standardmäßig keine Möglichkeit gibt, in C++ GUIs zu erstellen, hat man also nur diese Möglichkeiten: Alles komplett selbst machen oder Frameworks verwenden.
Nur womit fängt man an, wenn man etwas (für Windows) entwickeln will? Das Beispielprogramm Winnie, nutzt das ein GUI-Framework, das Windows mitliefert oder spricht man hierbei von Low-Level?
Oder sind praktisch gesegen alle Möglichkeiten, die man hat (Qt, die aus dem Winnie-Beispiel von oben oder die Variante, die man bei Visual C++ gleich dabei hat) gleich und man hat freie Wahl?
Alles etwas verwirrend.

Schonmal vielen Dank,Amgon
-
Verwirrend ist da nichts. Und was Hi- und Low-Level angeht, ist das ja auch wieder alles relativ.
Grundsätzlich sollte man eher zwischen GUI-APIs für C und C++ unterscheiden. Wenn du C++ programmierst, wäre es also nicht effektiv eine C-API zu wählen, dazu gehört z.B. GTK+, Win32-API, Motif u.a.
Da solltest du dich also nach einer C++-API umschauen. Und da gibt es zwar viele, aber nur die wenigsten haben sozusagen wirklich "einen Namen", im Sinne vom Populär. Im Prinzip mußt du dich einfach nur für eine solche GUI-API entscheiden. Und dann einfach damit anfangen zu programmieren. Eigentlich ziemlich easy!
Wobei ein Anfänger z.B. an einer schlechten Dokumentation scheitern könnte. Ein Profi kann sich dagegen bei einer schlechten Doku noch vieles aus Erfahrung zusammen reimen.
Ich würde sagen, für dich ist eine API wichtig, die sehr gut dokumentiert ist und ein Tutorial mitbringt.Schau dir bitte folgende Seiten an, die ich zusammen gestellt habe:
http://www.kharchi.eu/wiki/doku.php?id=cpp:gui:basics
http://www.kharchi.eu/wiki/doku.php?id=cpp:gui:libs
-
also ich würde dir empfehlen ein framework wie qt (oder wxwidgets) zu benutzen. "Das bei VS dabei ist" ist .Net basiert und deshalb nur auf windows einsetzbar während die anderen portiebar sind.
low level wäre unter windows die benutzung der winapi also : CreateWindowEx,....
Ich würde dir allerdings davon abraten, da es einen Mehraufwand an arbeit verursacht, wenn es darum geht "mal eben eine Gui zu erstellen".
-
Doppelpost
-
Ah, erstmal vielen Dank für die Links und Antworten.

Ich hatte vor, mich erstmal in Qt einzuarbeiten und mir dann vielleicht später dieses Windows-Zeugs anzuschauen.
Nur steht in dieser Tabelle, dass Qt & wxWidgets kein C++ verwenden. Ist deshalb davon abzuraten oder kann man es problemlos auch für C++-Projekte verwenden? Von den aufgeführten C++-Libraries habe ich nämlich noch nie etwas gehört.
-
Du kannst alle dort aufgeführten Bibliotheken für C++-Projekte nutzen! Mit Standard-C++ ist gemeint, ob sie sich selber an den Standard halten oder Standard-Features nutzen. Die Qt-Bibliothek z.B. provoziert es, den Standard komplett zu ignorieren... wenn nicht sogar verbannen zu wollen. Dagegen versucht gtkmm sich sehr gut an den Standard zu halten und zu fördern, was auch auf deren Website betont wird... und sie setzen es auch soweit um.
Man kann sich darüber streiten, ob es nun ein Killer-Argument ist. Dem einen ist es Schnuppe, der andere besteht auf Standard-konforme Bibliotheken. Die Liste führt die Unterschiede jedenfalls auf... entscheiden muß dagegen jeder für sich selber.
Übrigens, die Liste war kürzlich noch länger. Habe sie aber ausgemistet, weil manche Projekte nicht mehr "leben".
-
Alles klar, ich probiere einfach mal durch, denke aber, dass die Wahl auf Qt oder gtkmm fallen wird.
Schöne Übersicht übrigens, ist extrem hilfreich, wenn man keine Ahnung davon hat.

-
Artchi schrieb:
Übrigens, die Liste war kürzlich noch länger. Habe sie aber ausgemistet, weil manche Projekte nicht mehr "leben".
Mir ist aufgefallen, dass VCF nicht mehr vorkommt. Ist dieses Framework endgültig tot? Die Homepage sieht zumindest nicht total verwahrlost aus.
Wäre eigentlich schade, da VCF eines der wenigen Frameworks ist, das relativ modernes C++ und native Widgets anbietet. Ich habe mich vor etwa drei Viertel Jahren auch kurz damit auseinandergesetzt, aber es dann vorläufig sein lassen...
Allerdings sieht dein eigenes Projekt AlgierLib auch sehr vielversprechend aus. Das werde ich mir sicher auch mal genauer anschauen, aber momentan habe ich gerade sonst einiges zu tun.

-
Mir ist aufgefallen, dass VCF nicht mehr vorkommt. Ist dieses Framework endgültig tot? Die Homepage sieht zumindest nicht total verwahrlost aus.
Wäre eigentlich schade, da VCF eines der wenigen Frameworks ist, das relativ modernes C++ und native Widgets anbietet.
Wenn man sich so die News (letzte vom Januar) und vor allem den Entwickler-Blog anschaut (letzter Eintrag von 2008), sieht es sehr eingeschlafen aus. Aber du hast mich umgestimmt, VCF ist wieder drin! Mal schauen was die nächsten 6 Monate passiert.
Allerdings sieht dein eigenes Projekt AlgierLib auch sehr vielversprechend aus.
Danke! Es ist allerdings noch nicht so weit, das man es auf die User los lassen kann.
