Portál AbcLinuxu, 18. ledna 2026 05:38
Tuhle otázku jsem už řešil pod Linuxem několikrát. Nejdříve vyhrálo KDE, protože jsem ho používal, při přechodu na minimalističtější WindowMaker mi došlo, že mít aplikaci závislou na takovém molochu není nejlepší nápad a porozhlížel jsem se po něčem jiném.
Už jsem věděl, že další aplikace rozhodně nebude napsaná v C/C++, ale v Pythonu, takže nutná podmínka byla podpora Pythonu. Další nutná věc byla funkčnost i na jiných platformách (i když té zatím ve skutečnosti nikdo nevyužil). V té době jsem narazil jen na Qt, GTK a wxWidgets (tehdy ještě wxWindows).
Qt mělo nevýhodu v nedostupnosti PyQt pod Windows, což bylo způsobeno licenční politikou Trolltechu. GTK zase na Windows nemá nativní widgety, takže aplikace nevypadají tak jak by měly. Takže nakonec jako ideální volba vypadaly wxWidgets resp. wxPython.
Po dvou letech používání si to už rozhodně nemyslím a kdyby to nebylo tolik práce tak už používám něco jiného. Tolik hacků jako pro různé verze wxPythona jsem už dlouho nikde vymýšlet nemusel. To že se občas třídy prostě přesunou bych ještě pochopil, ale to že se to rozumně nevypořádá s unicode textem už ne. Opravdu není zábavné řešit bugy uživatelů kdy jim aplikace v python segfaultuje kvůli tomu, že někdo zapomněl kontrolovat návratové kódy konverzních funkcí.
A co tedy používat? Nevím. Rozhodně něco na vyšší úrovni než je GTK. Dnes jsem narazil na framework Kiwi a po přečtení části dokumentace se mi to líbí čím dál tím víc. Ale mám obavy abych nedopadl jako s wxWidgets a přecejenom změna stojí dost práce… Nenajde se tu někdo kdo by s tím měl zkušenosti? Co používáte vy?
Tiskni
Sdílej:
.
.
))
nebo uz to jde dneska prelozit do nejake rozumne binarky?Jde a dobre, viz. PyCZ: VytvareniExeSouboru. Dokaze to zaincludovat vsechny mozne moduly, s GUI neni problem, Tkinter, wxPython, PyGTK, PyQt, mozna i PyFLTK.
Tam je teda Qt nesrovnatelne dal.
A v dohledne dobe se chystam na IronPython. A kdyz uz budu u toho .NETu, vyzkousim i C#
. Tady je vidět, jak někteří lidi nemají vůbec soudnost, protože wxWidgets jako další vrstva nad GTK musí být nutně pomalejší.
.
Ale jestli pozadujes nativni widgety, tak pro tebe stejne neprichazi v uvahu.
. No protože už mám napsané bindings pro python, tak u něj nejspíš zůstanu. Navíc tak nějak tuším, že používat nativní knihovny v Javě nebude zrovna jednoduché a přepsání do Javy nepřipadá v úvahu, protože operace s polem bajtů jsou v ní (stejně tak jako snad ve všech interpretovaných jazycích) moc pomalé.
.
Bohužel se na něm ta těsná vazba docela projevuje, jak při tvorbě bindingů, tak i při používání, do jisté míry.
Nicméně souhlas, že Gtk je bezva.
Kamarád, který je profesionální smalltalker, ho označil za jeden z mála použitelných C toolkitů, a to je od něj co říct.
Nechápu ty narážky na "absenci nativních widgetů", to autorovi otázky nestačí Gtk Wimp a potřebuje handly na controly? Uživatel si toho vzhledově ani moc nevšimne, tedy zvlášť pokud si člověk okýnka oskinuje řes theming fíčuru nějakým neotřelým vzhledem, je asi dost těžké Gtk a ne-Gtk aplikaci (obrázky na tlačítkách ponechme stranou...
)
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.