wxPython - wxPython
| Geliştirici(ler) | Robin Dunn Harri Pasanen |
|---|---|
| İlk sürüm | 1998 |
| kararlı sürüm | 4.1.1 / 21 Kasım 2020
|
| depo | |
| Yazılmış | C++ / Python |
| İşletim sistemi | Çapraz platform |
| Lisans | wxWindows Lisansı |
| İnternet sitesi | wxpython |
wxPython a, sargı için platformlar arası GUI API (genellikle bir "olarak anılacaktır araç ") WxWidgets (yazılır C ++ için) Python programlama dili . Tkinter'ın alternatiflerinden biridir . Bu bir şekilde uygulanmaktadır Python uzatma modülü ( yerel kod ).
Lisans
Bir sarmalayıcı olan wxPython, wxWidgets ( wxWindows Lisansı ) tarafından kullanılan ve Özgür Yazılım Vakfı ve Açık Kaynak Girişimi tarafından onaylanan aynı özgür yazılım lisansını kullanır .
Tarih
wxPython, Robin Dunn'ın birkaç hafta içinde HP-UX sistemlerine ve ayrıca Windows 3.1'e dağıtılması için bir GUI'ye ihtiyacı olduğunda oluşturuldu . Ticari çözümleri değerlendirirken wxWidgets araç takımı için Python bağlamalarıyla karşılaştı . Böylece Python'u öğrendi ve kısa sürede Harri Pasanen ile birlikte bu ilk bağlamalardan gelişen wxPython'un ana geliştiricilerinden biri oldu .
Paketleyicinin ilk sürümleri elle oluşturuldu. Ancak kısa süre sonra kod tabanının bakımı ve wxWidgets sürümleriyle senkronize tutulması çok zor hale geldi. Daha sonraki sürümler, SWIG ile oluşturuldu ve sarmalayıcıyı güncellemek için yapılan iş miktarını büyük ölçüde azalttı . İlk "modern" versiyon 1998'de duyuruldu.
Örnek
Bu, wxPython'da (ana pencere nesnesi ve uygulama nesnesi) iki ana nesnenin oluşturulmasını ve ardından kontrolü , kullanıcıyı yöneten olay güdümlü sisteme (çağırarak ) geçirmeyi gösteren basit bir " Merhaba dünya " modülüdür. MainLoop()- Programın etkileşimli kısmı.
#!/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()
Bu, Windows 10 işletim sisteminde wxPython GUI ekran gösterisi ile wxPython Kapat Düğmesinin başka bir örneğidir.
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()
Phoenix Projesi
2010 yılında başlayan Phoenix Projesi, wxPython uygulamasını temizleme ve bu süreçte onu Python 3 ile uyumlu hale getirme çabasıdır. Bu proje, hız, sürdürülebilirlik ve genişletilebilirliği geliştirmeye odaklanan yeni bir wxPython uygulamasıdır. Tıpkı "Klasik" wxPython gibi, wxWidgets C++ araç setini sarar ve wx API'nin kullanıcı arabirimi bölümlerine erişim sağlayarak Python uygulamalarının Windows, Mac veya Unix sistemlerinde yerel bir görünüm ve his ile grafiksel bir kullanıcı arabirimine sahip olmasını sağlar. çok az, varsa, platforma özel kod.
wxPython ile geliştirilen uygulamalar
- Chandler , kişisel bilgi yöneticisi
- Dropbox , Dropbox bulut tabanlı depolama için masaüstü istemcisi
- Editra , çok platformlu bir metin editörü
- Google Drive , Google bulut tabanlı depolama sistemi için masaüstü istemcisi
- GRASS GIS , ücretsiz, açık kaynaklı bir coğrafi bilgi sistemi
- Metamorfoz , toplu yeniden adlandırıcı
- Phatch , bir fotoğraf toplu işlemci
- PlayOnLinux ve PlayOnMac , Şarap ön uçları
- PsychoPy , sinirbilim ve psikoloji araştırmaları için deney oluşturma aracı
Referanslar
alıntılar
Kaynaklar
- Rappin, Noel; Dunn, Robin (1 Mart 2006). wxPython Eylemde . Greenwich: Manning Yayınları . P. 552. ISBN 978-1-932394-62-7.
daha fazla okuma
- Precord, Cody (Aralık 2010). wxPython 2.8 Uygulama Geliştirme Yemek Kitabı . Greenwich: Packt Yayıncılık . P. 308. ISBN 978-1-84951-178-0.
Dış bağlantılar