5 | ||
Editor: geon
Time: 2011/10/12 20:43:00 GMT+2 |
||
Note: pridavani znacek 2x-3x |
changed: - .. image:: py25.png :align: right wxPython ============ Citát: is the best and most mature cross-platform GUI toolkit, given a number of constraints. The only reason wxPython isn't the standard Python GUI toolkit is that Tkinter was there first. Guido van Rossum wxPython (http://wxpython.org/) je multiplatformní GUI toolkit založený na C++ frameworku wxWidgets (http://wxwidgets.org), který pro vykreslování využívá obvyklé součásti hostitelského systému. Dostupný je port mimojiné pro Windows používající Win32API, Unixy používající Gtk+ nebo Motif nebo port pro !MacOS používající !CarbonAPI. Důležitým rysem wxPythonu je také jeho licence, která vychází z LGPL a tudíž umožňuje programovat nejen open source aplikace, ale též komerční, closed source. Např. Qt tuto výhodu nemáte (u Qt je možné komerční licenci koupit). Na Rootu o něm kdysi vycházel seriál http://www.root.cz/serialy/cirkus-s-okny/ ale od té doby se wxPython dost změnil - identifikátory už nemají prefix wx, místo tříd wxSize a wxPoint (teď už jenom Size a Point) je možné používat tuple atd. Příklad z prvního dílu: http://www.root.cz/data/wxpython/CSO_I_skript_ISO.htm toho seriálu by se dneska dal napsat takhle:: #!/usr/local/bin/env python # -*- coding: utf-8 -*- import wx Title = " Projekt" class MyFrame(wx.Frame): def __init__(self, parent, id, title): wx.Frame.__init__(self, parent, id, title, (150, 150), (650, 400)) self.CenterOnScreen() class MyApp(wx.App): def OnInit(self): frame = MyFrame(None, -1, Title) frame.Show(True) self.SetTopWindow(frame) return True app = MyApp(False) # False => vypisuj chyby při startu aplikace app.MainLoop() Další seriál na root.cz "*Jak na GUI s wxPythonem*":http://www.root.cz/serialy/jak-na-gui-s-wxpythonem/ začal vycházet v červnu 2006. Kromě celkem hezkého API jsou k dispozici klikací editory jako wxGlade a xrcedit. Snad jediným (zato obrovským) nedostatkem tohoto toolkitu je nepříliš kvalitní dokumentace v češtině. wxPython in action ------------------ je název knihy od spoluautorů wxPythonu Noela Rappina a Robina Dunna. Je velmi podrobná (cca 600 stran) a je napsaná opravdu dobře. Její částečnou nevýhodou je, že je v angličtině. Naštěstí se jedná o dost přijatelnou angličtinu. Nejste-li si jisti, zda byste jí rozuměli, můžete si cvičně přečíst dvě kapitoly, které jsou na stránkách vydavatelství k dispozici ve formátu .pdf. Navíc tu najdete i obsah knihy a všechny zdrojáky, které jsou v knize použity. Adresa: http://www.manning.com/rappin/ Kniha stojí $50 v tištěné formě, nebo $25 v .pdf. Variantu objednání .pdf jsem vyzkoušel a funguje dobře - po zaplacení přijde e-mail s adresou z níž si můžete knihu v následujících 24 hodinách stáhnout. Když to nestihnete, nebojte, mailem do vydavatelství se to (prý) dá vyřešit. Amazon.com nabízí knihu za $32 a taky tam za stejnou cenu nabízejí i knihu o wxWidgets. Kniha není jen o wxPythonu samotném. Vychází z programátorských zkušeností, takže tu najdete i kapitoly o tom, jak správně strukturovat zdrojový kód, aby vaše aplikace byly v pohodě rozšiřovatelné a upravovatelné. Také se tu píše o prostředí PyCrust a jeho možnostech při ladění. Znalost Pythonu se předpokládá, takže nějaké vysvětlování, co to je __init__ v definici třídy neočekávejte. Na druhou stranu, nemusíte být nějací machři, abyste tuto knihu mohli číst. Ostatně, stáhněte si druhou kapitolu a uvidíte.
Citát: is the best and most mature cross-platform GUI toolkit, given a number of constraints. The only reason wxPython isn't the standard Python GUI toolkit is that Tkinter was there first. Guido van Rossum
wxPython (http://wxpython.org/) je multiplatformní GUI toolkit založený na C++ frameworku wxWidgets (http://wxwidgets.org), který pro vykreslování využívá obvyklé součásti hostitelského systému.
Dostupný je port mimojiné pro Windows používající Win32API, Unixy používající Gtk+ nebo Motif nebo port pro MacOS používající CarbonAPI.
Důležitým rysem wxPythonu je také jeho licence, která vychází z LGPL a tudíž umožňuje programovat nejen open source aplikace, ale též komerční, closed source. Např. Qt tuto výhodu nemáte (u Qt je možné komerční licenci koupit).
Na Rootu o něm kdysi vycházel seriál http://www.root.cz/serialy/cirkus-s-okny/ ale od té doby se wxPython dost změnil - identifikátory už nemají prefix wx, místo tříd wxSize a wxPoint (teď už jenom Size a Point) je možné používat tuple atd.
Příklad z prvního dílu: http://www.root.cz/data/wxpython/CSO_I_skript_ISO.htm toho seriálu by se dneska dal napsat takhle:
#!/usr/local/bin/env python # -*- coding: utf-8 -*- import wx Title = " Projekt" class MyFrame(wx.Frame): def __init__(self, parent, id, title): wx.Frame.__init__(self, parent, id, title, (150, 150), (650, 400)) self.CenterOnScreen() class MyApp(wx.App): def OnInit(self): frame = MyFrame(None, -1, Title) frame.Show(True) self.SetTopWindow(frame) return True app = MyApp(False) # False => vypisuj chyby při startu aplikace app.MainLoop()
Další seriál na root.cz "Jak na GUI s wxPythonem":http://www.root.cz/serialy/jak-na-gui-s-wxpythonem/ začal vycházet v červnu 2006.
Kromě celkem hezkého API jsou k dispozici klikací editory jako wxGlade a xrcedit. Snad jediným (zato obrovským) nedostatkem tohoto toolkitu je nepříliš kvalitní dokumentace v češtině.
je název knihy od spoluautorů wxPythonu Noela Rappina a Robina Dunna. Je velmi podrobná (cca 600 stran) a je napsaná opravdu dobře. Její částečnou nevýhodou je, že je v angličtině. Naštěstí se jedná o dost přijatelnou angličtinu. Nejste-li si jisti, zda byste jí rozuměli, můžete si cvičně přečíst dvě kapitoly, které jsou na stránkách vydavatelství k dispozici ve formátu .pdf. Navíc tu najdete i obsah knihy a všechny zdrojáky, které jsou v knize použity.
Adresa: http://www.manning.com/rappin/
Kniha stojí $50 v tištěné formě, nebo $25 v .pdf. Variantu objednání .pdf jsem vyzkoušel a funguje dobře - po zaplacení přijde e-mail s adresou z níž si můžete knihu v následujících 24 hodinách stáhnout. Když to nestihnete, nebojte, mailem do vydavatelství se to (prý) dá vyřešit. Amazon.com nabízí knihu za $32 a taky tam za stejnou cenu nabízejí i knihu o wxWidgets.
Kniha není jen o wxPythonu samotném. Vychází z programátorských zkušeností, takže tu najdete i kapitoly o tom, jak správně strukturovat zdrojový kód, aby vaše aplikace byly v pohodě rozšiřovatelné a upravovatelné. Také se tu píše o prostředí PyCrust? a jeho možnostech při ladění. Znalost Pythonu se předpokládá, takže nějaké vysvětlování, co to je __init__ v definici třídy neočekávejte. Na druhou stranu, nemusíte být nějací machři, abyste tuto knihu mohli číst. Ostatně, stáhněte si druhou kapitolu a uvidíte.