Welches Framework für Gui Programmierung?



  • Hallo allerseits
    Erstmal hoffe ich, dass ich hier im Forum richtig bin, hab nix besseres gefunden.
    Ich habe mir mit dem Buch 'C++ lernen und professionell anwenden' C++ recht weit angeeignet, und möchte jetzt Guis programmieren.
    Ich benutze momentan die Beta von Visual C++ 2005. Jetzt ist meine Frage was ich für die Guis benutzen sollte?
    Ich habe mir shcon etwas QT angeschaut. Der Vorteil dort sit, wie ich das sehe ja, dass es in windows und linux verwendbar ist.
    Andererseits gibt es da ja noch das MFC im Visual Studio und noch viele andere.
    Meien Frage ist jetzt, welches davon am Funktionsreichsten ist. Das MFC lässt sich ja soweit ich das sehe am einfachsten bedienen, da man dort (fürs Design zumindestens) nur rumklicken muss, in QT muss man das ja wenn ich es richtig verstanden habe alles selber schreiben.
    Aber wie sieht das mit grafischen Effekten und dynamik aus? Ist da ein Framwork mehr zu empfehlen oder für was würdet ihr mir raten?
    Also für mich ist es jetzt nicht essenziell dass die Programme in linux laufen, aber es wäre halt ein schöner nebeneffekt.
    Hoffe, ihr könnt mir da bei der Entscheidung helfen.

    MfG
    doped04



  • Nimm das, was dir am besten gefällt. GUI ist Nebensache, die kann man bei Bedarf neuschreiben wenn man die wesentlichen Programmteile nicht damit vermischt. Was nutzt es an Linux zu denken, wenn der potentielle Kundenkreis Linux benutzt und umgekehrt? Nur durch eine portable UI wird dein Programm nicht automatisch portabel, da gehört mehr zu.



  • Das zweite Linux soll natürlich ein Windows sein. 🙄



  • Aber es ist dann weitesgehend portable und ich muss recht wenig umschreiben...

    ja das mit was mir am besten gefällt ist ja die frage weil ich beide nicht kenne. aber ich will nciht eins lernen um später dann umzusteigen... daher würde ich von anfang an gerne ein recht mächtiges vernünftiges framwork nehmen...



  • Darf ich dir mal einen Tipp geben?

    http://www.wxwidgets.org/



  • geheimtipp schrieb:

    Darf ich dir mal einen Tipp geben?

    http://www.wxwidgets.org/

    kann man das vom umfang her mit qt bzw. mfc vergleichen (welches nun das umfangreichere ist weiß ich ja immer noch net 😉

    EDIT: Wie ist das eigentlich? Bei .NET muss der User ja beim programm installieren das fframwork mitinstallieren /installiert haben. Ist das bei den Framworks ebenfalls so oder entfällt das dort?



  • doped04 schrieb:

    geheimtipp schrieb:

    Darf ich dir mal einen Tipp geben?

    http://www.wxwidgets.org/

    kann man das vom umfang her mit qt bzw. mfc vergleichen (welches nun das umfangreichere ist weiß ich ja immer noch net 😉

    Qt ist sehr umfangreich und professionell (auch sehr teuer, wenn du nicht gerade was GPL-mässiges machen willst).
    WxWidgets ist ein Wrapper über die jeweilige GUI-API des Betriebssystems auf dem es laufen soll (bei Windows bspw. die WinAPI) und sieht daher immer ziemlich nativ aus. Ist auch mittlerweile schon recht alt und daher relativ komplett (was auch auf den Code-Stil zutrifft: Viele Macros und so... 👎)
    MFC kannst du (imho) vergessen. Es ist zum Teil hässlich designt und veraltet und nicht portabel. Das neuere Modell von Microsoft heißt .NET, was aber auch wieder Nachteile hat...

    Ansonsten gibt's noch gtk/gtk+ (hab ich keine Erfahrung mit, hier muss der Enduser aber irgendeine runtime auf seinem Rechner haben) und Fox. Fox find' ich persönlich ganz schön, nur sieht es auf allen Plattformen gleich aus. Das heißt selbst unter Linux hast du Windows-Look (bald solls aber Skins geben) und das Projekt steht eher noch am Anfang, es wird also noch viel geändert.



  • Also für Qt gibts auch einen grafischen Editor, aber nur dann, wenn du die Kommerz-Version erwirbst. Für ein Hobby viel zu teuer.

    Qt, MFC und wxWidgets sind so die drei, die mehr als nur ein GUI-Toolkit sind. Die decken eigentlich alles ab was man braucht um Systeme zu entwickeln.

    Wenn du nur Windows programmieren willst und dir Linux, Max und Unix egal sind, würde ich zur MFC greifen. Ist schon im VC++2003 mit bei, und man kann Closedsource machen.

    wxWidgets ist sozusagen das Multiplatform-MFC, vorallem weil es auch vom Code her ähnlich wie MFC aussieht. 😉

    Qt ist für ClosedSource arsch teuer, nur die GPL-Version ist kostenlos, man muß seine Software unter GPL stellen 😡 und in der GPL-Version fehlt der GUI-Editor. Aber dafür ist Qt vom C++ Stil am modernsten.

    So, jetzt darfst du dich für eines entscheiden. :p



  • GTK+ (C) und GTKmm (C++) sind unter Windows mega ätzend! Offiziell gibt es auch keine Windows-Version, supported wird nur die Linux/UNix-Version. Die Win-Version muß man sich irgendwo zusammen suchen. Ich hab es einfach nicht geschafft an einem Abend das Devkit einzurichten.

    FOX-Toolkit ist super einfach: runterladen, einmal durch compilieren, funktioniert. 👍 Problem: das angesprochene Look&Feel das überall wie Windows aussieht. 🙄

    FLTK gibts auch noch.

    Die drei Toolkits sind aber reine GUI-Kits.



  • godlikebot schrieb:

    MFC kannst du (imho) vergessen. Es ist zum Teil hässlich designt und veraltet

    LOL, das unterscheidet es natürlich wahnsinnig von wxWidgets.

    godlikebot schrieb:

    Das neuere Modell von Microsoft heißt .NET, was aber auch wieder Nachteile hat...

    .Net hat primär nichts mit GUI zu tun. Du meinst sicher Windows-Forms.



  • Artchi schrieb:

    Also für Qt gibts auch einen grafischen Editor, aber nur dann, wenn du die Kommerz-Version erwirbst. Für ein Hobby viel zu teuer.

    "We are releasing the full Qt API and set of tools as Open Source on Windows, so there is no difference in the available product."
    Qt Designer ist in der Open Source-Version enthalten.



  • Achso, hab mich dann vertan.

    Ändert nichts an der schrecklichen GPL-Lizenz. 😉



  • Ok auch wenn ich immer noch hin und hergerissen bin zwischen QT und MFC hab ich mich jetzt für QT entschieden.
    Die nächste Zeit werde ich wohl eh erstmal kostenlos proggen (bzw. für mich). Ansonsten soweit ich das sehen kann, ist es auch nicht soo das problem sich dann windowsforms etc. anzueignen.

    Danke für die Tipps und Hilfe

    MfG
    doped04



  • BrainiacX schrieb:

    godlikebot schrieb:

    MFC kannst du (imho) vergessen. Es ist zum Teil hässlich designt und veraltet

    LOL, das unterscheidet es natürlich wahnsinnig von wxWidgets.

    Ich hab doch geschrieben, dass wxWidgets auch schon recht alt ist, oder?! Und hab ich nicht auch geschrieben, dass wxWidgets vom Code her nicht unbedingt hübsch ist? Ich wollte gar nicht sagen, dass die MFC sich dadurch von wxWidgets unterscheiden...

    godlikebot schrieb:

    Das neuere Modell von Microsoft heißt .NET, was aber auch wieder Nachteile hat...

    .Net hat primär nichts mit GUI zu tun. Du meinst sicher Windows-Forms.

    Ja, danke :).



  • Wenn du etwas hobby mäßig machst spricht doch nix dagegen es unter die GPL zu stellen, bei Bibliotheken ist das für die Anwender teilweise lästig, aber ne GUI-Anwendung da ist das doch was anderes (wobei gibts bei der GPL ne Klausel, dass mit ner GPL-Anwendung erstellte Dinge automatisch auch der GPL unterliegen?).

    Der QT Designer ist der Wahnsinn, da kann nichts mithalten was ich bisher gesehen habe. Was mich jedoch stört ist diese extra kompilieren. Die Integration in eine IDE, bei mir VC, ist auch nicht ganz so genial wie es sich zuerst anhört, aber vielleicht ist das in QT4 inzwischen auch besser geworden (verwende QT3).

    Was ich persönlich sehr schön finde ist GTKmm, aber habe es unter Windows noch nicht einwandfrei installieren können, da der gtkmm-2.6 installer GTK+ mitinstalliert und da irgendwie was verbockt, jedenfalls lassen sich die Anwendungen danach nicht starten (finden DLL Einträge nicht oder stürzen einfach ab, ohne ersichtlichen Grund). Wenn jemand weiß wie man das sauber installiert, lasst es mich wissen 🙂



  • Wie stellen die von Trolltech eig. sicher, dass niemand QT illegal nutzt? Wird da ein kommentar über serial und/oder Version innen Code gelegt? Oder wie machen die das?

    MfG
    doped04



  • User--- schrieb:

    (wobei gibts bei der GPL ne Klausel, dass mit ner GPL-Anwendung erstellte Dinge automatisch auch der GPL unterliegen?).

    Nein. Wohl aber dass Anwendungen, die auf GPL-Anwendungen basieren, ebenfalls der GPL unterliegen müssen. Heißt sobald du Qt-GPL-Code in dein Programm reinlinkst, musst du es unter die GPL stellen.

    GPL, 2. b):
    "Sie müssen dafür sorgen, daß jede von Ihnen verbreitete oder veröffentlichte Arbeit, die ganz oder teilweise von dem Programm oder Teilen davon abgeleitet ist, Dritten gegenüber als Ganzes unter den Bedingungen dieser Lizenz ohne Lizenzgebühren zur Verfügung gestellt wird."

    doped04 schrieb:

    Wie stellen die von Trolltech eig. sicher, dass niemand QT illegal nutzt?

    Zum Teil dürfte das mit dazugeführt haben, dass die Open-Source-Variante nur für MinGW zur Verfügung steht und die kommerzielle eben für VC++.



  • sarfuan schrieb:

    doped04 schrieb:

    Wie stellen die von Trolltech eig. sicher, dass niemand QT illegal nutzt?

    Zum Teil dürfte das mit dazugeführt haben, dass die Open-Source-Variante nur für MinGW zur Verfügung steht und die kommerzielle eben für VC++.

    Den Zusammenhang verstehe ich nicht. 😕 Was meinst du damit?

    Soll das heißen, das VC++-User sich autom. nicht an Lizenzen halten. 😮 Kann das von mir nicht behaupten, ich verzichte dann einfach auf GPL-Libs und somit ist Qt für mich persönlich aus dem Rennen.



  • doped04 schrieb:

    Wie stellen die von Trolltech eig. sicher, dass niemand QT illegal nutzt? Wird da ein kommentar über serial und/oder Version innen Code gelegt? Oder wie machen die das?

    Wie kann überhaupt jemand sicherstellen das eine Software legal genutzt wird? Das geht nicht. Wenn das aber raus kommt, dann kann ja erst was unternommen werden.



  • Vielleicht, weil viele OSS Leute sowieso Dev-C++ verwenden und das selber auch OSS ist, aber das macht nicht unbedingt sinn, denn viele verwenden auch in der OSS Szene VC. Ich glaube die wollten einfach ne größere Einschränkung der OSS Variante, damit mehr gewzungen werden es zu kaufen, wenn sie es verwenden wollen.

    Du kannst QT4 aber auch unter VC verwenden, da der "Blocker" in qmake von der OSS Version drin steckt, du musst daher nur das qmake aus der Eval Version nehmen und bei configure angeben, dass es kein qmake erzeugen soll.


Anmelden zum Antworten