close

WxPython

Přejít na navigaci Přejít na hledání
wxPython
WxPython-logo.png
WxPythonTestLinux.png
Obecná informace
typ programu grafické uživatelské prostředí
Licence LGPL
Technické informace
Naplánováno v C a Python
Verze
Nejnovější stabilní verze 4.0.7 ( 25. října 2019 )
Odkazy

wxPython je vazba grafické knihovny wxWidgets pro programovací jazyk Python . Knihovna wxWidgets se vyznačuje tím, že je multiplatformní , takže její použití spolu s Pythonem umožňuje rychlý vývoj multiplatformních grafických aplikací.

Licence

Jako závazný používá wxPython stejnou licenci na svobodný software jako wxWidgets (LGPL), což je licence schválená Free Software Foundation a Open Source Initiative .

Historie

wxPython se zrodil, když Robin Dunn potřeboval GUI , které by fungovalo na systémech HP-UX a také na Windows 3.1 během několika týdnů. Při hodnocení komerčních řešení narazil na některé vazby Pythonu pro sadu nástrojů wxWidgets. Díky tomu se v krátké době naučil Python a stal se jedním z hlavních vývojářů wxPythonu (který se zrodil z těchto počátečních vazeb), spolu s Harri Pasanenem. První verze obalu byly vytvořeny ručně. Kódovou základnu však brzy začalo být velmi obtížné udržovat v synchronizaci s vydáními wxWidgets. Ale pozdější verze byly vytvořeny pomocí SWIG, což výrazně snížilo množství práce potřebné k aktualizaci obalu. První „moderní“ verze byla oznámena v roce 1998.

Od roku 2011 byl kód wxPython téměř kompletně přepsán v projektu nazývaném Phoenix. [ 1 ] Hlavním cílem tohoto projektu bylo co nejvíce zautomatizovat vývoj vazeb Pythonu pro wxWidgets takeit , a tím snížit práci potřebnou k údržbě wxPythonu. [ 2 ] Kromě toho by nová verze byla kompatibilní s verzí 3 Pythonu .

Projekt Phoenix

Projekt Phoenix, který začal v roce 2012, je snahou o to, aby byl wxPython kompatibilní s Pythonem 3 [ 3 ] Tento projekt je novou implementací wxPythonu zaměřenou na zlepšení rychlosti, udržovatelnosti a rozšiřitelnosti. Stejně jako „klasický“ wxPython obaluje knihovnu wxWidgets a poskytuje přístup k jejím částem orientovaným na vytváření uživatelských rozhraní, čímž odhaluje wx API. Umožňuje aplikacím Pythonu mít uživatelská rozhraní na systémech Windows, Mac a Unix s nativním vzhledem a chováním, které vyžadují velmi málo kódu specifického pro platformu. [ 4 ]

Příklad

Toto je jednoduchý modul „ Ahoj světe “, který ilustruje vytváření dvou hlavních objektů v wxPythonu (okna a aplikace) a delegování řízení na událostmi řízený systém (volání MainLoop()), který poskytuje interaktivní část programu.

#!/usr/bin/env python

import  wx

class  TestFrame ( wx . Frame ): 
    def  __init__ ( self ,  parent ,  ID ,  title ): 
        wx . Rám . __init__ ( self ,  parent ,  wx .ID_ANY , title , pos = ( 0 , 0 ), size = ( 320 , 240 ) ) panel = wx . Panel ( self , wx .ID_ANY ) text = wx . _ StaticText ( panel , wx .ID_ANY , "Ahoj světe! " , wx .Point ( 10 , 5 ) , wx .Size ( - 1 , - 1 ) )     
           
                

class  TestApp ( wx . App ): 
    def  OnInit ( self ): 
        frame  =  TestFrame ( None ,  wx .ID_ANY , "Ahoj světe! " ) self . SetTopWindow ( rámeček ) rám . Zobrazit ( True ) vrátit True 
        
        
         

if  __name__  ==  '__main__' : 
    app  =  TestApp () 
    app . MainLoop ()

Reference

Externí odkazy