wxPython - GUI Builder Araçları

Manuel kodlama ile iyi görünümlü bir GUI oluşturmak sıkıcı olabilir. Görsel bir GUI tasarım aracı her zaman kullanışlıdır. WxPython'u hedefleyen birçok GUI geliştirme IDE'si mevcuttur. Bunlardan bazıları aşağıdadır -

  • wxFormBuilder
  • wxDesigner
  • wxGlade
  • BoaConstructor
  • gui2py

wxFormBuilderwxWidget GUI tasarımını C ++, Python, PHP veya XML formatına çevirebilen açık kaynaklı, çapraz platformlu bir WYSIWYG GUI oluşturucusudur. WxFormBuilder'ın kullanımına kısa bir giriş burada verilmiştir.

Öncelikle wxFormBuilder'ın en son sürümünün şuradan indirilmesi ve kurulması gerekir: http://sourceforge.net/projects/wxformbuilder/. Uygulama açıldığında, ortasında boş gri alan olan yeni bir proje belirir.

Projeye uygun bir isim verin ve kod üretme dili olarak Python'u seçin. Bu, aşağıdaki resimde gösterildiği gibi Nesne özellikleri penceresinde yapılır -

Ardından, bileşenler paletinin 'Formlar' sekmesinden Çerçeve'yi seçin.

'Düzenler' sekmesinden dikey bir wxBoxSizer ekleyin.

Kutuya uygun başlıklar ile gerekli kontrolleri ekleyin. Burada, bir StaticText (etiket), iki TextCtrl nesnesi (metin kutuları) ve bir wxButton nesnesi eklenir. Çerçeve aşağıdaki resme benziyor -

Bu üç denetimde Genişletme ve Uzatma'yı etkinleştirin. WxButton nesnesinin nesne özelliklerinde, OnButtonClick olayına findquare () işlevi atayın.

Projeyi kaydedin ve geliştirilen GUI için Python kodu oluşturmak üzere F8 tuşuna basın. Oluşturulan dosyanın Demo.py olarak adlandırılmasına izin verin

Çalıştırılabilir Python betiğinde, demo.py'yi içe aktarın ve FindSquare () işlevini tanımlayın. Uygulama nesnesini bildirin ve bir ana olay döngüsü başlatın. Çalıştırılabilir kod aşağıdadır -

import wx 
  
#import the newly created GUI file 
import demo  
class CalcFrame(demo.MyFrame1): 
   def __init__(self,parent): 
      demo.MyFrame1.__init__(self,parent)  
		
   def FindSquare(self,event): 
      num = int(self.m_textCtrl1.GetValue()) 
      self.m_textCtrl2.SetValue (str(num*num)) 
        
app = wx.App(False) 
frame = CalcFrame(None) 
frame.Show(True) 
#start the applications 
app.MainLoop()

Yukarıdaki kod aşağıdaki çıktıyı üretir -