wxPython - เครื่องมือสร้าง GUI

การสร้าง GUI ที่ดูดีโดยการเข้ารหัสด้วยตนเองอาจเป็นเรื่องที่น่าเบื่อ เครื่องมือออกแบบ GUI แบบภาพนั้นมีประโยชน์เสมอ IDE สำหรับการพัฒนา GUI จำนวนมากที่กำหนดเป้าหมายไปที่ wxPython นั้นพร้อมใช้งาน ต่อไปนี้เป็นบางส่วนของพวกเขา -

  • wxFormBuilder
  • wxDesigner
  • wxGlade
  • BoaConstructor
  • gui2py

wxFormBuilderเป็นโอเพนซอร์สตัวสร้าง WYSIWYG GUI ข้ามแพลตฟอร์มที่สามารถแปลการออกแบบ wxWidget GUI เป็นรูปแบบ C ++, Python, PHP หรือ XML คำแนะนำสั้น ๆ เกี่ยวกับการใช้ wxFormBuilder มีให้ที่นี่

ก่อนอื่นต้องดาวน์โหลดและติดตั้ง wxFormBuilder เวอร์ชันล่าสุดก่อน http://sourceforge.net/projects/wxformbuilder/. เมื่อเปิดแอปพลิเคชันโปรเจ็กต์ใหม่ที่มีพื้นที่ว่างเปล่าสีเทาตรงกลางจะปรากฏขึ้น

ตั้งชื่อที่เหมาะสมให้กับโปรเจ็กต์และเลือก Python เป็นภาษาสร้างโค้ด สิ่งนี้ทำได้ในหน้าต่างคุณสมบัติวัตถุดังที่แสดงในภาพต่อไปนี้ -

จากแท็บ 'ฟอร์ม' ของจานสีส่วนประกอบให้เลือกเฟรม

เพิ่ม wxBoxSizer แนวตั้งจากแท็บ "เลย์เอาต์"

เพิ่มการควบคุมที่จำเป็นในกล่องพร้อมคำบรรยายที่เหมาะสม ที่นี่มีการเพิ่ม StaticText (label), TextCtrl สองรายการ (กล่องข้อความ) และวัตถุ wxButton เฟรมมีลักษณะดังภาพต่อไปนี้ -

เปิดใช้งานขยายและยืดบนตัวควบคุมทั้งสามนี้ ในคุณสมบัติอ็อบเจ็กต์สำหรับอ็อบเจ็กต์ wxButton กำหนดฟังก์ชัน findquare () ให้กับเหตุการณ์ OnButtonClick

บันทึกโปรเจ็กต์แล้วกด F8 เพื่อสร้างโค้ด Python สำหรับ GUI ที่พัฒนาขึ้น ให้ไฟล์ที่สร้างขึ้นตั้งชื่อเป็น Demo.py

ในสคริปต์ Python ที่เรียกใช้งานได้ให้นำเข้า demo.py และกำหนดฟังก์ชัน 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()

รหัสด้านบนสร้างผลลัพธ์ต่อไปนี้ -