[python] GTK a klíčová slova

Jan Fuchs fuky na sunstel.asu.cas.cz
Neděle Únor 7 01:35:32 CET 2010


Zdravím,
nějaké články o Pythonu nalezneš ještě na:

     http://www.linuxsoft.cz
     http://www.root.cz

Určitě mrkni na http://python.wraith.cz (děkuji za něj Petrovi Machovi).

Pokud by Tě zajímala knížka v češtině, tak mě se docela líbí:

     Začínáme programovat v jazyce Python - Daryl Harms, Kenneth McDonald
     http://umarecka.cz/cze/pocitacova/programovani/ostatni/zaciname_programovat_v_jazyce_python_2_opravene_vydani

> Wing IDE neznám, ale dle Feature Listu na webu to nevypadá, že by
> obsahoval vizuální editor GUI. Takže GUI tvého programu budeš asi
> muset napsat "ručně", což (především ze začátku) není na škodu :)

GUI pro GTK doporučuji navrhovat v http://glade.gnome.org/ , výsledek si
uložíš do XML souboru, který posléze načteš a použiješ z téměř
libovolného jazyka včetně Pythonu. Takže je samotný vzhled GUI pěkně
oddělen od zbytku aplikace. Miniukázka:

     #!/usr/bin/python
     # -*- coding: utf-8 -*-

     import gtk
     import gtk.glade

     xml = gtk.glade.XML('python.glade', 'window')

     def spustit(button):
       info_LB.set_text("Complete.")

     def quit(window):
       gtk.main_quit()
       print "End..."

     xml.signal_autoconnect(locals())
     info_LB = xml.get_widget("info_LB")
     gtk.main()

> (Linux, Mac OS X, Windows...). Je na tobě, pro co se rozhodneš (zda
> WxPython, PyGTK či PyQt), s čím se ti bude lépe pracovat, případně co

S PyGTK jsem spokojen, má výbornou dokumentaci a pěkně udělaný binding.

Samotné Qt je určitě špičkový nástroj, s bindingem PyQt nemám žádné
zkušenosti, ale nevím o žádných zásadních nedostatcích, mimo licence viz
níže.

WxWidgets a tedy WxPython bych se doporučoval obloukem vyhnout. Oproti
výše zmíněným knihovnám nenabízí žádnou zásadní výhodu a přináší spíše
problémy. Např.:

     http://www.abclinuxu.cz/blog/txt/2010/2/python-linux-a-software.-nocni-mura-mi-neda-spat/diskuse#10

A na Linuxu stejně využívá GTK.

Ještě by Tě mohlo zajímat Tk, je svižné a jednoduché:

     http://www.tkdocs.com/

Verze 8.5 přinesla zajímavé novinky, již lze např. snadno měnit vzhled,
takže konečně GUI vypadá k světu i na Linuxu. Výhoda je, že na Windows
je přímo součástí instalace Pythonu, takže není třeba doinstalovávat
další SW. O žádném kvalitním nekomerčním návrháři GUI pro Tk nevím.

> bude mít přijatelnější licenční podmínky (teď narážím na PyQt a GPL).

Licence Qt je již v současné době i GPL, problém byl jen s bindingem
PyQt, který vyvíjí jiná komerční firma:

     http://www.riverbankcomputing.co.uk/software/pyqt/intro

Ovšem Nokia vyvíjí binding pod LGPL licencí:

     http://www.pyside.org

          S pozdravem Jan Fuchs

--
/**************************************************************
*   _    Žádný program není bezchybný, dokonalý ani nejlepší, *
*  °v°   to samé platí i o lidech a nejen o nich.             *
* /(_)\                                      -- Jan Fuchs --  *
*  ^ ^                                                        *
*        http://www.fuky.org   Jabber: jan.fuchs.cz na gmail.com *
**************************************************************/


Další informace o konferenci Python