wxPython - wxPython
Deweloper(zy) | Robin Dunn Harri Pasanen |
---|---|
Pierwsze wydanie | 1998 |
Wersja stabilna | 4.1.1 / 21 listopada 2020
|
Magazyn | |
Napisane w | C++ / Python |
System operacyjny | Wieloplatformowy |
Licencja | Licencja wxWindows |
Strona internetowa | wxpython |
wxPython to wrapper dla wieloplatformowego interfejsu API GUI (często określanego jako " zestaw narzędzi ") wxWidgets (napisany w C++ ) dla języka programowania Python . Jest to jedna z alternatyw dla Tkintera . Jest zaimplementowany jako moduł rozszerzenia Pythona ( kod natywny ).
Licencja
Będąc opakowaniem, wxPython korzysta z tej samej licencji wolnego oprogramowania używanej przez wxWidgets ( wxWindows License ) — która jest zatwierdzona przez Free Software Foundation i Open Source Initiative .
Historia
wxPython powstał, gdy Robin Dunn potrzebował w ciągu kilku tygodni GUI w systemach HP-UX , a także w Windows 3.1 . Podczas oceny rozwiązań komercyjnych natknął się na powiązania Pythona dla zestawu narzędzi wxWidgets. W ten sposób nauczył się Pythona iw krótkim czasie, wraz z Harrim Pasanenem , stał się jednym z głównych programistów wxPythona, który wyrósł z tych początkowych powiązań.
Pierwsze wersje owijki powstawały ręcznie. Jednak wkrótce baza kodu stała się bardzo trudna w utrzymaniu i synchronizowaniu z wydaniami wxWidgets. Późniejsze wersje były tworzone za pomocą SWIG , co znacznie zmniejsza ilość pracy związanej z aktualizacją wrappera. Pierwsza „nowoczesna” wersja została ogłoszona w 1998 roku.
Przykład
Jest to prosty moduł „ Witaj świecie ”, przedstawiający tworzenie dwóch głównych obiektów w wxPython (obiekt okna głównego i obiekt aplikacji), a następnie przekazanie kontroli do systemu sterowanego zdarzeniami (poprzez wywołanie MainLoop()
), który zarządza użytkownikiem -interaktywna część programu.
#!/usr/bin/env python3
import wx
app = wx.App(False) # Create a new app, don't redirect stdout/stderr to a window.
frame = wx.Frame(None, title="Hello World") # A Frame is a top-level window.
frame.Show(True) # Show the frame.
app.MainLoop()
Jest to kolejny przykład wxPython Close Button z wyświetlaczem wxPython GUI w systemie operacyjnym Windows 10.
import wx
class WxButton(wx.Frame):
def __init__(self, *args, **kw):
super(WxButton, self).__init__(*args, **kw)
self.InitUI()
def InitUI(self):
pnl = wx.Panel(self)
closeButton = wx.Button(pnl, label='Close Me', pos=(20, 20))
closeButton.Bind(wx.EVT_BUTTON, self.OnClose)
self.SetSize((350, 250))
self.SetTitle('Close Button')
self.Centre()
def OnClose(self, e):
self.Close(True)
def main():
app = wx.App()
ex = WxButton(None)
ex.Show()
app.MainLoop()
if __name__ == "__main__":
main()
Projekt Feniks
Projekt Phoenix, który rozpoczął się w 2010 roku, jest próbą oczyszczenia implementacji wxPython, a tym samym zapewnienia jej kompatybilności z Pythonem 3. Ten projekt jest nową implementacją wxPython, skoncentrowaną na poprawie szybkości, łatwości konserwacji i rozszerzalności. Podobnie jak „Classic” wxPython, zawiera zestaw narzędzi wxWidgets C++ i zapewnia dostęp do części interfejsu użytkownika wx API, umożliwiając aplikacjom Pythona posiadanie graficznego interfejsu użytkownika w systemach Windows, Mac lub Unix z natywnym wyglądem i działaniem i wymaganiem bardzo mało, jeśli w ogóle, kodu specyficznego dla platformy.
Aplikacje opracowane w wxPython
- Chandler , menedżer informacji osobistych
- Dropbox , komputerowy klient do przechowywania danych w chmurze Dropbox
- Editra , wieloplatformowy edytor tekstu
- Dysk Google , klient komputerowy dla systemu przechowywania danych w chmurze Google
- GRASS GIS , darmowy system informacji geograficznej o otwartym kodzie źródłowym
- Métamorphose , zmiana nazwy partii
- Phatch , procesor wsadowy do zdjęć
- PlayOnLinux i PlayOnMac , wino przednie końce
- PsychoPy , narzędzie do tworzenia eksperymentów dla neuronauki i psychologii
Bibliografia
Cytaty
Źródła
- Rappin, Noel; Dunn, Robin (1 marca 2006). wxPython w akcji . Greenwich: Manning Publikacje . P. 552. Numer ISBN 978-1-932394-62-7.
Dalsza lektura
- Precord, Cody (grudzień 2010). wxPython 2.8 Książka kucharska tworzenia aplikacji . Greenwich: Wydawnictwo Packt . P. 308. Numer ISBN 978-1-84951-178-0.
Zewnętrzne linki