Meistgenutzte GUI



  • Ich möchte anfangen mit einer GUI. Ich Programmiere in C++. Nun ist die Frage welche den an besten für mich geeigent ist ?. Ich stehe gerade zwischen einer Win32 GUI und wxWidgets. Win32 weil ich mich auch weiter mit Windows beschäftigen will. Aber ich habe gelesen dass es sehr veraltete ist. wxWidgets ist da verscheinlich der bessere Weg ?. Qt ist ja nicht kostenlos so weit ich weiß also ist das nix für mich. Was findet ihr ist besser ? oder sollte ich mir noch eine andere ansehen ?.



  • Aber ich habe gelesen dass es sehr veraltete ist

    Ja, das stimmt.

    wxWidgets ist da verscheinlich der bessere Weg ?.

    Nein, ist mittlerweile auch veraltet.

    Qt ist ja nicht kostenlos so weit ich weiß

    Qt ist seit neuestem* immer und überall frei verfügbar.

    sollte ich mir noch eine andere ansehen ?.

    Wenn du so programmierst, wie du schreibst, solltest du dir erst einmal boost.org ansehen, dein C++ soweit verbessern, dass du die Bibliothek in groben Zügen verstehst und anwenden kannst (du lernst dabei gutes C++ zu schreiben). Danach beantwortet sich die Frage von selbst.

    ~*: für Privatnutzung war es schon immer kostenlos, seit 2000(!) ist es so richtig frei.~



  • ) ? _( schrieb:

    Win32 weil ich mich auch weiter mit Windows beschäftigen will. Aber ich habe gelesen dass es sehr veraltete ist.

    WinAPI ist alt aber nicht veraltet. Am Ende ist WinAPI immer noch der einzige Weg um unter Windows etwas zu machen. Libraries wie wxWidgets oder Qt verwenden intern auch nur die WinAPI. Wenn du dich mit Windows beschäftigen willst dann beschäftige dich mit der WinAPI. Für ernsthafte GUIs verwendet natürlich niemand rohe WinAPI. Aber für GUI Programmierung ist C++ jetzt generell sowieso nicht die erste Wahl. Wenn du nicht wirklich einen Haufen guter Gründe hast warum du für dein GUI C++ verwenden musst dann würd ich dir dazu raten GUIs z.B. mit WPF oder WinForms in C# zu schreiben.



  • Die imo beste c++ Gui ist Qt. Ansonsten gibts es noch MFC (kostenpflichtig und veraltet), GTKMM (zwar ein sehr schöner gtk wrapper aber für Windows blöd), WxWidgets(irgentwie komische API). Von den hier genannte dürfte Qt ausserdem die meist genutzte freie Bibliothek sein.

    Ausserdem ist Qt Platformunabhängig.

    @ dot: Warum denn keine GUI programme in c++? C++ ist (noch immer) weit verbreitet und es existieren mehere gute Toolkits dafür.



  • Meine güte, braucht das Forum wirklich den Xten QT vs Rest Flamewar?



  • Scorcher24 schrieb:

    Meine güte, braucht das Forum wirklich den Xten QT vs Rest Flamewar?

    Unbedingt!

    Ich bin für Rest, weil an Qt die heute bewährten Konzepte von C++ (RAII, STL, ...) völlig verbeigegangen ist und vom sprachlichen her völlig veraltet daherkommt. Ausserdem verwendet Qt eine Ausgeburt namens MOC, um die Sprache um Funktionalität zu erweitern, die von boost::signals schöner, schneller, logischer und vor allem mit Standardmitteln geschafft wurde.



  • Qt fan schrieb:

    @ dot: Warum denn keine GUI programme in c++? C++ ist (noch immer) weit verbreitet und es existieren mehere gute Toolkits dafür.

    Warum C++? Er sagt er will auf Windows bleiben, das Crossplattform Argument ist damit unerheblich und mit anderen Werkzeugen wie z.B. .NET/C# kann man für Windows sehr viel schneller/einfacher/eleganter GUIs bauen als mit jedem mir bekannten nativen Toolkit. Wenn er nicht C++ verwenden will um C++ zu verwenden oder einige wirklich gute Argumente für C++ sprechen seh ich keinen Grund warum man krampfhaft C++ verwenden muss. Versteh mich nicht falsch, C++ ist immer noch meine Lieblingssprache, aber trotzdem würd ich ein GUI nur mit C++ schreiben wenns wirklich unbedingt sein muss. Das heißt ja noch lange nicht dass man andere Teile des Programms, wo C++ einem vielleicht entscheidende Vorteile bieten würde, nicht in C++ schreiben kann...



  • Ich tendiere dazu, dot zuzustimmen. Wer sich auf Windows beschränkt, dem sei die WPF und C# ans Herz gelegt...



  • Scorcher24 schrieb:

    Wer sich auf Windows beschränkt, dem sei die WPF und C# ans Herz gelegt...

    Exakt, WPF und C# sind einfach nur awesome für sowas 😉



  • Ich rate dir auch zu WPF oder WinForms. QT ist auch ok - wuerde ich aber nur benutzen, wenn du unbedingt bei C++ als GUI Sprache bleiben willst.

    Der ganze Rest (direkte WinAPI-Nutzung, GTKmm, wxWidgets, MFC etc. etc.) ist Muell mMn.



  • dot schrieb:

    Scorcher24 schrieb:

    Wer sich auf Windows beschränkt, dem sei die WPF und C# ans Herz gelegt...

    Exakt, WPF und C# sind einfach nur awesome für sowas 😉

    +1 für WPF.



  • [quote="Ibsen"]Ausserdem verwendet Qt eine Ausgeburt namens MOC, um die Sprache um Funktionalität zu erweitern, die von boost::signals schöner, schneller, logischer und vor allem mit Standardmitteln geschafft wurde.[/quote]

    boost::signals bieten also neuerdings auch die Moeglichkeit, Laufzeit-Introspektion durchzufuehren, d.h. Du bekommst in void foo(const Object &ob) {...} heraus, ob ob z.B. eine Fuktion void bar(Baz baz) implementiert, ohne die Definition der Klasse Object zu sehen.

    Das waere beeindruckend. Dummerweise ist es nicht so.


Anmelden zum Antworten