wxPython ile Masaüstü Uygulaması Geliştirme
wxPython, Python'da masaüstü uygulamaları geliştirmek için güçlü bir seçim. Tkinter'in aksine, wxPython Windows, macOS ve Linux'ta native görünüş ve davranış sunar. Yani uygulamalarınız her işletim sisteminde o sistemin tasarım dilini takip eder.
İlk adım wxPython'u kurmak. Terminalde pip install wxPython komutunu çalıştır. Ardından basit bir pencere oluşturmak için şu kodu dene:
1import wx23app = wx.App()4frame = wx.Frame(None, title="Merhaba wxPython", size=(400, 300))5frame.Show()6app.MainLoop()Bu kod bir pencere açar ve uygulamayı çalıştırır. wxPython'un temel yapısı her zaman bu şekilde: bir `wx.App` nesnesi, bir `wx.Frame` (ana pencere) ve `MainLoop()` ile olay döngüsü.
Buton ve metin kutusu eklemek için sizer (düzen yöneticisi) kullanırız. Sizer'lar bileşenleri otomatik olarak yerleştirir ve pencere boyutu değiştiğinde uyarlanır:
1import wx23class MyFrame(wx.Frame):4def __init__(self):5super().__init__(None, title="Basit Uygulama", size=(400, 250))6panel = wx.Panel(self)7sizer = wx.BoxSizer(wx.VERTICAL)89text = wx.TextCtrl(panel, value="Adını gir")10btn = wx.Button(panel, label="Selamla")11output = wx.StaticText(panel, label="")1213btn.Bind(wx.EVT_BUTTON, self.on_click)14self.output = output15self.text = text1617sizer.Add(text, 0, wx.ALL | wx.EXPAND, 5)18sizer.Add(btn, 0, wx.ALL, 5)19sizer.Add(output, 0, wx.ALL, 5)20panel.SetSizer(sizer)2122def on_click(self, event):23name = self.text.GetValue()24self.output.SetLabel(f"Merhaba {name}!")2526app = wx.App()27frame = MyFrame()28frame.Show()29app.MainLoop()Bu örnekte bir sınıf tanımladık, metin kutusu ve buton ekledik. `Bind()` yöntemi buton tıklamasını `on_click` metoduna bağlar. `BoxSizer` bileşenleri dikey olarak düzenler; `wx.EXPAND` ve `wx.ALL` bayrakları boşluk ve genişletme kontrolü sağlar.
wxPython gerçek uygulamalar için idealdir, MP3 etiket editörleri, dosya yöneticileri, veri görselleştirme araçları gibi. Tkinter'den daha profesyonel görünüm ve daha geniş widget seçeneği sunar. Başlamak için basit projelerle pratik yap; sizer sistemi öğrendikten sonra karmaşık arayüzler inşa etmek çok daha kolay hale gelir.
0 yorum