Portál AbcLinuxu, 12. května 2025 07:07
Chci napsat GUI aplikaci a hledám GUI knihovnu, která bude splňovat aspoň většinu z těchto podmínek:
* multiplatformní - maximální stabilita aspoň na Linuxu, MacOS X, Windows
* liberální licence (něco jako LGPL, BSD) na všech třech platformách
* open source
* oddělitelná od aplikační logiky a pokud možno i jazykově agnostická (XML nebo skriptovací / domain-specific jazyk)
* možnost zásadně ovlivnit vzhled widgetů
Vychází mi z toho nejlíp Swing, ale tahle knihovna mi není zrovna nejsympatičtější.
- Nezralé nástroje pro návrh rozhraní, ve wxSmith se nedá pracovat a wxFormBuilder generuje třídy, které musíte zdědit a implementovat události tam (opravdu nechápu tento systém, code bloat) - API mi návrhem připomíná Win32. Všude ID, mapy událostí, pro každý typ události jiný postup mapování na funkce, atd... - Zmatek v hlavičkových souborech + zkrácené jména hlavičkových souborů (evnt, ...) - Datové Kontejnery (si připadám jako bych programoval v C a ne v C++) - Absence alespoň základní tvorby grafiky (vykreslení gradientu), gradientní výplně, ... Možnost kreslit do wxImage, Antialiasing, nemožnost vykreslit wxImage do wxDC. - Layout kontejnery a wxStaticBox (myslím, že ti co někdy použili ví, o čem mluvím) - Slabá dokumentace a velmi málo příkladůNechci, aby to vyznělo jako kritika wxWidgets, ale jsou to věci, se kterýma jsem se setkal asi za 8 měsíční práci s tímto toolkitem a určitě jsem neprozkoumal celou knihovnu. Přijde mi, že oproti Qt se ve wx dělají věci strašně komplikovaně. Navíc jsem se setkal s mnoha problémy, třeba je zajímavé namapovat si události IDLE a PAINT, atd :) wxPython už je jepší, ale pořád mi to připomíná ty win32 návyky.
... otázka je, jaká bude podpora Qt Windows, případně Mac OS X. Pokud vím, Qt je teď poprvé ve verzi pro Windows, takže asi bde ještě chvíli trvat, než se to usadí.Jestli se nepletu a Wikipedia mi dává za pravdu, tak Qt na Windows běží od první verze. Na Qt je například Opera. Mac OS X je pak podporován od verze 3.
Nedávnose pro Windows pouze změnila licence.
Qt by bylo dobré, ale musel bych kupovat licenci, protože ten projekt nebude moci být (aspoň zpočátku) GPL.Pokud bude jen pro "interní potřebu" a nebudete vytvořený projekt dodávat někam dál, tak licenci kupovat nemusíte.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.