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()
รหัสด้านบนสร้างผลลัพธ์ต่อไปนี้ -