#!/usr/bin/python#coding: utf-8import wxclass MyFrame(wx.Frame): "整體架構" # 聲明一個類變數 labels = "1 2 3 + 4 5 6 - 7 8 9 * 0 . = /" def __init__(self): super(MyFrame, self).__init__(None, -1, "Calc", style=wx.DEFAULT_FRAME_STYLE ^ ( wx.RESIZE_BORDER | wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX)) panel = wx.Panel(self, -1, size = (400, 300)) sizer = wx.GridBagSizer(hgap=5, vgap=4) self.button = wx.Button(panel, -1, u"AC", size = (50, 25)) self.button.Bind(wx.EVT_BUTTON, self.OnAC) sizer.Add(self.button, pos=(0, 0), span=(1, 1), flag=wx.EXPAND) self.text = wx.TextCtrl(panel, -1, u"0") self.text.Enable(False) sizer.Add(self.text, pos = (0, 1), span = (1, 3), flag = wx.EXPAND) num = 0 for row in range(1, 5): for col in range(4): self.btn = wx.Button(panel, -1, label = self.labels.split()[num],size = (50, 50)) sizer.Add(self.btn, pos = (row, col)) num += 1 self.btn.Bind(wx.EVT_BUTTON, self.OnButton2) self.SetSizer(sizer) self.Fit() def OnAC(self, event): self.text.SetValue("0") def OnButton2(self, event): passif __name__ == "__main__": app = wx.App() frame = MyFrame() frame.Show(True) app.MainLoop()