Hallo, ich lerne gerade C++ und suche nach einer guten Bibliothek für eine graphische Benutzeroberfläche. Ich habe bei google leider nichts gefunden. :-( Wer kennt eine passende Bibliothek? Maximilian
Lern erstmal die Sprache bevor Du mit sowas wie Qt anfaengst. Sonst wirste nie auf nen gruenen Zweig kommen.
C++ mit einer GUI zu lernen ist tote Hose Lern erstmal richtig Klassen, Polymorphie und templates. Auch ausgiebig Zeiger sollte man nicht vernachlässigen. Ich hatte mal ein Qt C++ Buch in der Hand und hab gestaunt wieviel Fehler drin waren. Zb new ohne delete usw.
GTK ist vom Verständnis her recht einfach, das läuft auch ohne Klassen ab (reines C, natürlich kannst du das auch unter C++ ansprechen).
Daniel wrote: > Ich hatte mal ein Qt C++ Buch in der Hand und hab > gestaunt wieviel Fehler drin waren. Zb new ohne delete usw. Das kann sogar richtig gewesen sein. QObject (Basisklasse von fast allen QT-Klassen) hat die Möglichkeit einen "parent" anzugeben (z.B. gleich im Konstructor), und auf diese Weise "Bäume" von QObjects aufzubauen. Und der QObject destructor löscht dann auch automatisch seine Children. So räumt dann z.B. auch ein Fenster alle seine Elemente wie Buttons usw. auf, sobald es nicht mehr gebraucht wird. Aber du hast schon recht, solide C++ Grundlagen braucht man auf jeden Fall (egal ob mit QT oder ohne). Mit "wird schon so ähnlich wie C sein" kommt man nicht weit.
Die neueren Toolkits sind schon nicht so ganz einfach zu erlernen, wenn man parallel dazu auch noch mit Problemen der Programmiersprache zu kämpfen hat. Hat man aber erst einmal die Sprache (also C++) so weit begriffen, dass man die einzelnen Konstrukte versteht, aber noch nicht richtig anwenden kann, kann die Benutzung so eines GUI-Toolkits gute Beispiele für den Aufbau von Klassenstrukturen, die Interaktion zwischen Objekten und die Anwendung von Entwurfsmustern im Allgemeinen liefern, da GUIs sicher eine der Standardanwendungen für objektorientierte Programmierung sind. Mir persönlich gefällt GTKmm als C++-Wrapper um GTK sehr gut, weil darin die Vorteile von C++ gegenüber C konsequent genutzt werden. Auch GTK selbst (mit C-API) ist eigentlich schon objektorientiert aufgebaut, bei GTKmm sieht man dies wegen der C++-Syntax aber deutlicher und hat vor allem der Vorteil 100%iger Typsicherheit, was gerade beim Einstieg viele typische Fehler schon beim Kompilieren aufdeckt. Qt hat aber all diese Vorteile auch. Es hat vielleicht den kleinen Schönheitsfehler, dass die o.g. Typsicherheit nur mit Hilfe von Spracherweiterungen erreicht wird. Deswegen ist GTKmm, obwohl nur ein Aufsatz auf eine C-Bibliothek, ein kleines Bisschen C++iger als Qt.
> Ich hatte mal ein Qt C++ Buch in der Hand und hab > gestaunt wieviel Fehler drin waren. Zb new ohne delete usw. Nächstes mal das Buch nicht nur in die Hand nehmen, sondern es auch lesen könnte hilfreich sein.
Oh mann, Ich dachte ja MFC wäre noch puristisch, aber WinAPI in stink normalem C, das muss doch weh tun. Jedes (open-source) GUI-Toolkit ist tausend mal einfacher als das!
WINAPI und MFC sind total veraltet. Nachdem du C++ vernünftig beherrscht empfehle ich ein modernen Toolkit wie gtkmm oder Qt.
Wie siehts denn mit der Perfromance von GTK oder Qt aus? Sagt jetzt nicht, dass die modernen Computer das schon schaffen müssen. Ich hab nen 1,8GHz PC. Da gehen noch einige Sachen gut und flüssig, nur merk ich langsam die versteckten while-schleifen. ;D Und so gestopft muss man mal sein, dass man sagt, das ist ein alter PC. Ich will es einfach wissen. Kann man sagen, dass eines der beiden z.B. doppelt so langsam wie winapi oder mfc ist?
Also unter Linux gibt es Windowmanager mit GTK (zB. XFCE) die bei weitem weniger Ressourcen verbrauchen als windows und auch auf uralten Rechnern noch recht gut laufen. GTK ist also recht sparsam, und wenn der darunterliegende Windowmanager nicht viel braucht (zB. X11) ist es schneller als die win api. QT ist nicht so sparsam, aber ansonsten eigentlich auch recht flott. Braucht halt etwas mehr RAM, kann dafür aber auch mehr.
Naja, es gibt gute freie Compiler für windows (halt der gcc port), es gibt gute freie GUI Toolkits, es gibt gute freie IDEs, und als Sahnehäubchen laufen die Sachen dann auch noch auf anderen OSs.
(^-^*)/コンチャ! Mit Qt bin ich leider nicht vertraut, aber GTK ist sehr sparsam. GTK-Programme laufen auf meinem 600MHz 512MB EeePC flüssig. Und da du C++ verwendest solltest du dann auch zu gtkmm greifen. (⌒∇⌒)ノ""マタネー!!
1 | QT ist nicht so sparsam, aber ansonsten eigentlich auch recht flott. |
2 | Braucht halt etwas mehr RAM, kann dafür aber auch mehr. |
Es gibt viele Benchmarks die gegenteiliges behaupten, abgesehen davon, dass sich speziell bei Qt4.* sehr viel in Sachen Performance getan hat. Ich behaupte mal einfach sie sind gleichwertig. MfG
FLTK nicht zu vergessen. Sicher auch geeignet für Anfänger. Ich finde 300kb standalone EXE Programme immer sehr nett. www.fltk.org
yxcv wrote:
>
1 | QT ist nicht so sparsam, aber ansonsten eigentlich auch recht flott. |
2 | > Braucht halt etwas mehr RAM, kann dafür aber auch mehr. |
> Es gibt viele Benchmarks die gegenteiliges behaupten, abgesehen davon, > dass sich speziell bei Qt4.* sehr viel in Sachen Performance getan hat. > Ich behaupte mal einfach sie sind gleichwertig. > > MfG Vielleicht liegt's auch daran, dass ich Qt nur in Verbindung mit KDE benutze.
1 | Vielleicht liegt's auch daran, dass ich Qt nur in Verbindung mit KDE |
2 | benutze. |
Also bei pro-linux und Heise gab es mal einen Vergleich und KDE schnitt in vielen/den meisten Punkten (wenn ich mich richtig erinnere) besser ab. MfG
Profan ist auch nicht zu vergessen. http://xprofan.de/start.htm immer unter Download kostenlose Vollversionen ! Standalone exe Dateien mit Ca 280 Kb. alle windowsbetriebsysteme von 95 - Vista Datenbanken Programieren wirklich ein Kinderspiel und vorallem die suchfunktion in der Datenbank geht Perfekt sogar mit bruchteileingaben. Hervoragende Hilfe und Beispiele die mann auch versteht und verwenden kann. So hat das suchen nach sourcenbeispielen auch mal ein ende gehabt. Mann kann natürlich auch viele andere Sachen Programieren, Open GL sogar. Ich hab schon sehr viele durch (VB, Delphi , C++, Powerbasic, Turbopascal ...und noch einige mehr die mich gleich am Anfang überforderten. Sourcensuchen im Internet weil man ja durch die Beispiele in den Hilfedateien nur verwirrt wurde. Mit Profan bin ich dann recht schnell zurechtgekommen und habe dann auch beim Programieren das alles verwirklichen können was ich mir vorgestellt habe und damals war das ganze auch noch ohne Oberfläche wo man formen und buttons u. textfelder u.s.w. hatte. Damals hab ich mit Profan 6.0 für einen alten Mann eine Universaldatenbank gecodet wo er all sein zeug reinschreibt schon seit Jahren. Seine Adressen, Münzsammlung, Antiqutätensammlung, DVD sammlung, und was weiß ich noch alles. Es läuft also auf jedem Windowsrechner STANDALONE. Ihm ist Access einfach zu kopmliziert gewesen und wenn ein anderer Kollege kein Acces drauf hat kann er seine Daten auch nicht sehen lassen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.