wxPython - GUI बिल्डर टूल

मैन्युअल कोडिंग द्वारा एक अच्छी दिखने वाली GUI बनाना थकाऊ हो सकता है। एक दृश्य GUI डिजाइनर टूल हमेशा काम आता है। WxPython पर लक्षित कई GUI विकास IDE उपलब्ध हैं। उनमें से कुछ निम्नलिखित हैं -

  • wxFormBuilder
  • wxDesigner
  • wxGlade
  • BoaConstructor
  • gui2py

wxFormBuilderएक खुला स्रोत है, क्रॉस-प्लेटफ़ॉर्म WYSIWYG GUI बिल्डर जो wxWidget GUI डिज़ाइन को C ++, पायथन, PHP या XML प्रारूप में अनुवाद कर सकता है। WxFormBuilder के उपयोग का एक संक्षिप्त परिचय यहां दिया गया है।

सबसे पहले wxFormBuilder के सभी नवीनतम संस्करण को डाउनलोड और इनस्टॉल करने की आवश्यकता है http://sourceforge.net/projects/wxformbuilder/. एप्लिकेशन खोलने पर, केंद्र में रिक्त ग्रे क्षेत्र के साथ एक नई परियोजना दिखाई देती है।

प्रोजेक्ट को उपयुक्त नाम दें और कोड जनरेशन लैंग्वेज के रूप में पायथन चुनें। यह निम्न गुण विंडो में किया गया है जैसा कि निम्नलिखित छवि में दिखाया गया है -

फिर घटकों के पैलेट के 'फॉर्म' टैब से, फ़्रेम चुनें।

'लेआउट' टैब से वर्टिकल wxBoxSizer जोड़ें।

उपयुक्त कैप्शन के साथ बॉक्स में आवश्यक नियंत्रण जोड़ें। यहां, एक StaticText (लेबल), दो TextCtrl ऑब्जेक्ट (टेक्स्ट बॉक्स) और एक wxButton ऑब्जेक्ट जोड़े जाते हैं। फ्रेम निम्न छवि जैसा दिखता है -

इन तीन नियंत्रणों पर विस्तार और खिंचाव सक्षम करें। WxButton ऑब्जेक्ट के लिए ऑब्जेक्ट प्रॉपर्टीज में, OnButtonClick ईवेंट के लिए एक फ़ंक्शन findquare () असाइन करें।

प्रोजेक्ट को सहेजें और विकसित GUI के लिए पायथन कोड जनरेट करने के लिए F8 दबाएँ। बता दें कि जनरेट की गई फाइल का नाम डेमोक्रोम है

निष्पादन योग्य पायथन लिपि में, डेमोक्रोम आयात करें और FindSquare () फ़ंक्शन को परिभाषित करें। अनुप्रयोग ऑब्जेक्ट की घोषणा करें और एक मुख्य ईवेंट लूप प्रारंभ करें। निम्नलिखित निष्पादन योग्य कोड है -

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()

उपरोक्त कोड निम्नलिखित आउटपुट का उत्पादन करता है -