Wat betreft cross-platform compatibiliteit (en desktop integratie) is Qt op dit moment zonder twijfel nummer één.
Hmmm..., in deze zin ben je waarschijnlijk 'volgens mij' vergeten, want dat is een uiterst subjectief standpunt. Met hetzelfde gemak zou ik wxWidgets tot nummer een kunnen bombarderen.
Sorry, daar heb je gelijk in
...
Bij Qt kan je wel voordeel halen uit de meeste Qt klassen zoals QString
Qt onderscheidt zich ook van de rest doordat het niet enkel een grafische toolkit is, maar een heel framework voor cross-platform ontwikkeling.
Bij wxWidgets heet zoiets wxString...
Dat is juist de grote gelijkenis tussen Qt en wxWidgets, voor de rest zijn ze behoorlijk verschillend.
Klopt, wxWidgets is ook meer dan een GUI toolkit, net zoals Qt. Daar had ik geen rekening mee gehouden. Ik dacht richting Gtk.
licentie: Qt is GPL en wxWindows is eerder LGPL. De kosten van commercieel gebruik van Qt per individuele ontwikkelaar voor cross-platform ontwikkeling (Windows, Linux en Mac) zijn € 2840 (console), € 3180 (desktop light), € 5260 (desktop), terwijl wxWidgets 100% gratis is. Na een jaar moet je opnieuw voor Qt geld op tafel leggen voor updates. Niet echt goedkoop dus, maar Trolltech biedt hiervoor in ruil wel goede commerciële support. Voor meer informatie: http://trolltech.com/products/qt/licenses/pricing
Klopt. Maar als je open source programma's ontwikkelt zijn de kosten €0. Commercieel gebruik is inderdaad duur, hoewel startende bedrijven wel flinke kortingen krijgen (560 tot 1110 euro, afhankelijk van het aantal te ondersteunen platformen)
rendering: wxWidgets gebruikt 100% native grafische gebruikersomgeving. Qt implementeert zijn eigen rendering engine. Die komen behoorlijk dicht in de buurt van de native omgeving, maar niet 100%. Zo implementeert Qt events, feedback en layout volledig zelf, onafhankelijk van het platform in tegenstelling tot wxWidgets. Anderzijds biedt Qt de mogelijkheid om met behulp van skins je programma een eigen look te geven, terwijl wxWidgets altijd de skin van het operating systeem zelf gebruikt.
Klopt wel, maar je laat het klinken alsof dit slecht is. Het is gewoon anders. Qt communiceert wel met bv. WinAPI voor widget painting/styling, maar gebruikt zijn eigen systeem voor events, layouts, etc. Ergens is dit zelfs een voordeel, omdat op deze manier een aantal platformspecifieke bugs geëlimineerd worden. Ik zeg niet dat het beter is dan het systeem van wxWidgets, maar het is ook zeker niet slechter. Het is anders en het is maar wat je verkiest.
snelheid: Qt is meer object georienteerd dan wxWidgets. Hierdoor zal je sneller code ontwikkelen in Qt, die bovendien minder lang zal zijn. Daareentegen is wxWidgets sneller bij het uitvoeren van het programma dan Qt. wxPython combineert dan weer de snelheid van het ontwikkelen van python met de snelheid van wxWidgets.
Dat is inderdaad waar. Maar dat snelheidsverschil is minimaal en verwaarloosbaar in de meeste toepassingen (net zoals het snelheidsverschil tussen Python en C++).
linux: wxWidgets integreert best met gtk (gnome/ubuntu, xcfe/xubuntu) en qt uiteraard met kde (kubuntu). Zoals profox aangaf kan qt met cleanlooks eruit zien als een gtk programma. wxWidgets en gtk programma's kunnen eruit zien als kde programma's met gtk-qt.
Ja... Hoewel gtk-qt jammer genoeg niet echt topkwaliteit is (kan eigenlijk maar een paar simpele stijlen fatsoenlijk renderen)
En Cleanlooks zal niet integreren met de desktop indien er een andere stijl dan Clearlooks wordt gebruikt op GNOME.
Natuurlijk kan je altijd wel zoiets als QtCurve gebruiken om een samenhorende Gtk + Qt stijl te creëren..
Verder verstaan we onder integratie niet alleen de look, maar ook de feel. Maar dat gaat steeds meer de goede kant op voor zowel Gtk als Qt. Zoals ik reeds aangaf is het ondersteunen van de GLib eventloop in Qt een flinke stap voorwaarts imo.
De documentatie van wxWidgets is heel uitgebreid en de wxPython demo is een echt pareltje wat je meteen opweg helpt. Op de wxPython-user mailing lijst beantwoordt Robin Dunn, de projectleider van wxPython, persoonlijk alle vragen waar niemand anders een antwoord op weet.
Dat geloof ik best, maar de documentatie van Qt is ook uitstekend. Verder is er ook nog de qt-interest mailing list en het #qt IRC kanaal. Er is ook een populair QtCentre forum. Ik zit redelijk vaak op het IRC kanaal en de mensen daar zijn zeer behulpzaam. Hoewel de documentatie me nog het meest van al helpt.
Qt documentatie/voorbeelden/tutorialsEen lijst met alle PyQt klassen voor Python en bijhorende uitleg is aanwezig op een
onofficiële site.
Dus de discussie tussen wxWidgets en qt, is in dezelfde trant als tussen gnome en kde, git en bazaar, ... Er zijn alleen maar persoonlijke favorieten (zoals wxPython voor mij), maar zeker geen duidelijke winnaar.
Klopt. En voor mij dus Qt 4.x
Freedom of choice noemen we dat.
Ivan1986: Dus... Google wat rond, bekijk de documentatie en mogelijkheden van beide projecten (en misschien zelfs nog van andere projecten die je tegenkomt, want wxWidgets en Qt zijn niet de enige 2 cross-platform toolkits) en maak je eigen keuze.