wxpython计算器框架

#!/usr/bin/python
#coding: utf-8

import wx

class 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):
        pass

if __name__ == "__main__":
    app = wx.App()
    frame = MyFrame()
    frame.Show(True)
    app.MainLoop()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值