Reklam · TEST
AdSense Test ReklamıGönderi üstü · Görüntülü

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 wx
2
3app = 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ü.

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası

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 wx
2
3class MyFrame(wx.Frame):
4def __init__(self):
5super().__init__(None, title="Basit Uygulama", size=(400, 250))
6panel = wx.Panel(self)
7sizer = wx.BoxSizer(wx.VERTICAL)
8
9text = wx.TextCtrl(panel, value="Adını gir")
10btn = wx.Button(panel, label="Selamla")
11output = wx.StaticText(panel, label="")
12
13btn.Bind(wx.EVT_BUTTON, self.on_click)
14self.output = output
15self.text = text
16
17sizer.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)
21
22def on_click(self, event):
23name = self.text.GetValue()
24self.output.SetLabel(f"Merhaba {name}!")
25
26app = 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.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz