ดังนั้นเพื่อให้สามารถที่จะสามารถนำ Python ไปใช้ปฏิบัติงานจริงได้อย่างรวดเร็วนั้นคงต้องยึดคติที่ว่า "เราคงไม่ต้องเข้าใจไปหมดทุกเรื่องก็ได้นะ" (คตินี้คิดเองหน่ะ ไม่มีใครสอนมาหรอก) คตินี้คงต้องนำมาใช้ก่อนกับเรื่องการสร้าง GUI ใน Python คิดถึงเมื่อก่อนตอนที่ทำ Java สร้าง Application ก็ยอมรับว่าไม่ค่อยจะรู้เรื่องเกี่ยวกับ Layout หรือพวก Container ของตัว GUI ซักเท่าไหร่หรอก รู้แค่ว่าอยากได้อะไร ก็ใช้ NetBaens ลากวางเอาเลย ตอนหลังเวลาเขียน GUI โดย Java เลยกลายเป็นการเขียนแบบ Visual ไปเลย และมันก็ง่ายจนลืมศึกษาอะไรไปหลายๆ อย่างเลย
ตอนนี้มาหัดทำ Python ยังหาตัวที่ช่วยวาด GUI ที่ใช้งานง่ายๆ ไม่ได้เลย ก็เลยต้องลงมือทำ Code เองเลย ยังดีนะใน Mac OS X 10.4.8 มันมีตัวอย่าง Code Python มาให้ ก็เลยพยายามไล่ๆ Code จากตัวอย่างดูเอา
คงต้องวางแผนไว้ว่า ลอก Code จากตัวอย่างนี่แหล่ะ เอามาแก้ไขให้มันอ่านง่ายๆ และก็ปรับให้มันตรงกับความต้องการแบบกลางๆ ตั้งใจว่าจะทำเป็น Prototype และว่าจะ Code Libray ของตัวเองเก็บไว้ ถึงเวลาต้องใช้จริงๆ ก็มา copy เอาไปใช้ได้เลย แค่แก้ไขนิดๆ หน่อยก็น่าจะใช้ได้
import wx
class aboutDialog(wx.Dialog):
def __init__(self,parent):
wx.Dialog.__init__(self, parent, -1)
self.SetBackgroundColour(wx.WHITE)
panel = wx.Panel(self, -1)
panel.SetBackgroundColour(wx.WHITE)
panelSizer = wx.BoxSizer(wx.VERTICAL)
boldFont = wx.Font(panel.GetFont().GetPointSize(),
panel.GetFont().GetFamily(),wx.NORMAL, wx.BOLD)
label1 = wx.StaticText(panel, -1, "wxDialog Prototype")
label1.SetFont(wx.Font(16, boldFont.GetFamily(),
wx.ITALIC, wx.BOLD))
label1.SetSize(label1.GetBestSize())
label2 = wx.StaticText(panel, -1, "Develop by Phisan Shukkhi \n"
"Computer Centre, Silpakorn University")
#label2.SetFont(wx.Font(12, boldFont.GetFamily(), wx.ITALIC, wx.BOLD))
#label2.SetFont(wx.Font(12))
label2.SetSize(label2.GetBestSize())
panelSizer.Add((10, 10)) # Spacer.
panelSizer.Add(label1, 0, wx.ALIGN_CENTRE)
panelSizer.Add((10, 10)) # Spacer.
panelSizer.Add(label2, 0, wx.ALIGN_CENTRE)
panelSizer.Add((10, 10)) # Spacer.
panelSizer.Add((10, 10)) # Spacer.
panelSizer.Add(wx.Button(panel, wx.ID_OK, "OK"), 0, wx.ALIGN_CENTRE)
panelSizer.Add((10, 10)) # Spacer.
panel.SetAutoLayout(True)
panel.SetSizer(panelSizer)
panelSizer.Fit(panel)
topSizer = wx.BoxSizer(wx.HORIZONTAL)
topSizer.Add(panel, 0, wx.ALL, 10)
self.SetAutoLayout(True)
self.SetSizer(topSizer)
topSizer.Fit(self)
self.Center()
btn = self.ShowModal()
self.Destroy()
เมื่อทำการเรียกใช้ Class จากทางด้านบนก็จะได้ผลดังนี้คือ

