wxPython - wxPython

WxPython
WxPython-logo.png
Geliştirici(ler) Robin Dunn
Harri Pasanen
İlk sürüm 1998 ; 23 yıl önce ( 1998 )
kararlı sürüm
4.1.1 / 21 Kasım 2020 ; 9 ay önce ( 2020-11-21 )
depo
Yazılmış C++ / Python
İşletim sistemi Çapraz platform
Lisans wxWindows Lisansı
İnternet sitesi wxpython .org

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.

Image
Windows 10'da wxPython'un gösterildiği Kapat düğmesi
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

daha fazla okuma

Dış bağlantılar