简单计算器python20行代码在wxpython_Python使用wxPython实现计算器

本文展示了如何使用Python的wxPython库,用大约20行代码实现一个简单的计算器应用。该计算器包括基本的数学运算、开方以及清屏功能。
摘要由CSDN通过智能技术生成

本文实例为大家分享了wxPython实现计算器的具体代码,供大家参考,具体内容如下

# -*- coding: utf-8 -*-

##########################################

## Python code generated with wxFormBuilder (version Feb 16 2016)

## http://www.wxformbuilder.org/

##

## PLEASE DO "NOT" EDIT THIS FILE!

##########################################

import wx

import wx.xrc

import math

#############################################

## Class MyFrame1

#############################################

class MyFrame1(wx.Frame):

def __init__(self,parent):

wx.Frame.__init__(self,parent,id=wx.ID_ANY,title=wx.EmptyString,pos=wx.DefaultPosition,size=wx.Size(486,448),style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)

self.SetSizeHintsSz(wx.DefaultSize,wx.DefaultSize)

bSizer1 = wx.BoxSizer(wx.VERTICAL)

self.m_textCtrl1 = wx.TextCtrl(self,wx.ID_ANY,wx.EmptyString,wx.DefaultPosition,wx.Size(600,60),style=wx.TE_RIGHT)

self.m_textCtrl1.SetMinSize(wx.Size(470,60))

bSizer1.Add(self.m_textCtrl1,wx.ALL,5)

bSizer2 = wx.BoxSizer(wx.HORIZONTAL)

self.m_button1 = wx.Button(self,u"退格",wx.Size(110,0)

bSizer2.Add(self.m_button1,5)

self.m_button2 = wx.Button(self,u"清屏",0)

bSizer2.Add(self.m_button2,5)

self.m_button3 = wx.Button(self,u"sqrt",0)

bSizer2.Add(self.m_button3,5)

self.m_button4 = wx.Button(self,u"/",0)

bSizer2.Add(self.m_button4,5)

bSizer1.Add(bSizer2,wx.EXPAND,5)

bSizer6 = wx.BoxSizer(wx.HORIZONTAL)

self.m_button10 = wx.Button(self,u"7",0)

bSizer6.Add(self.m_button10,5)

self.m_button11 = wx.Button(self,u"8",0)

bSizer6.Add(self.m_button11,5)

self.m_button12 = wx.Button(self,u"9",0)

bSizer6.Add(self.m_button12,5)

self.m_button13 = wx.Button(self,u"*",0)

bSizer6.Add(self.m_button13,5)

bSizer1.Add(bSizer6,5)

bSizer7 = wx.BoxSizer(wx.HORIZONTAL)

self.m_button15 = wx.Button(self,u"4",0)

bSizer7.Add(self.m_button15,5)

self.m_button16 = wx.Button(self,u"5",0)

bSizer7.Add(self.m_button16,5)

self.m_button17 = wx.Button(self,u"6",0)

bSizer7.Add(self.m_button17,5)

self.m_button18 = wx.Button(self,u"-",0)

bSizer7.Add(self.m_button18,5)

bSizer1.Add(bSizer7,5)

bSizer34 = wx.BoxSizer(wx.HORIZONTAL)

self.m_button140 = wx.Button(self,u"1",0)

bSizer34.Add(self.m_button140,5)

self.m_button141 = wx.Button(self,u"2",0)

bSizer34.Add(self.m_button141,5)

self.m_button142 = wx.Button(self,u"3",0)

bSizer34.Add(self.m_button142,5)

self.m_button143 = wx.Button(self,u"+",0)

bSizer34.Add(self.m_button143,5)

bSizer1.Add(bSizer34,5)

bSizer35 = wx.BoxSizer(wx.HORIZONTAL)

self.m_button145 = wx.Button(self,u"0",0)

bSizer35.Add(self.m_button145,5)

self.m_button148 = wx.Button(self,u".",0)

bSizer35.Add(self.m_button148,5)

self.m_button149 = wx.Button(self,u"+/-",0)

bSizer35.Add(self.m_button149,5)

self.m_button150 = wx.Button(self,u"=",600),0)

self.m_button150.SetMinSize(wx.Size(110,60))

bSizer35.Add(self.m_button150,5)

bSizer1.Add(bSizer35,5)

self.SetSizer(bSizer1)

self.Layout()

self.Centre(wx.BOTH)

# Connect Events

self.m_button1.Bind(wx.EVT_BUTTON,self.m_button1OnButtonClick)

self.m_button2.Bind(wx.EVT_BUTTON,self.m_button2OnButtonClick)

self.m_button3.Bind(wx.EVT_BUTTON,self.m_button3OnButtonClick)

self.m_button4.Bind(wx.EVT_BUTTON,self.m_button4OnButtonClick)

self.m_button10.Bind(wx.EVT_BUTTON,self.m_button10OnButtonClick)

self.m_button11.Bind(wx.EVT_BUTTON,self.m_button11OnButtonClick)

self.m_button12.Bind(wx.EVT_BUTTON,self.m_button12OnButtonClick)

self.m_button13.Bind(wx.EVT_BUTTON,self.m_button13OnButtonClick)

self.m_button15.Bind(wx.EVT_BUTTON,self.m_button15OnButtonClick)

self.m_button16.Bind(wx.EVT_BUTTON,self.m_button16OnButtonClick)

self.m_button17.Bind(wx.EVT_BUTTON,self.m_button17OnButtonClick)

self.m_button18.Bind(wx.EVT_BUTTON,self.m_button18OnButtonClick)

self.m_button140.Bind(wx.EVT_BUTTON,self.m_button140OnButtonClick)

self.m_button141.Bind(wx.EVT_BUTTON,self.m_button141OnButtonClick)

self.m_button142.Bind(wx.EVT_BUTTON,self.m_button142OnButtonClick)

self.m_button143.Bind(wx.EVT_BUTTON,self.m_button143OnButtonClick)

self.m_button145.Bind(wx.EVT_BUTTON,self.m_button145OnButtonClick)

self.m_button148.Bind(wx.EVT_BUTTON,self.m_button148OnButtonClick)

self.m_button149.Bind(wx.EVT_BUTTON,self.m_button149OnButtonClick)

self.m_button150.Bind(wx.EVT_BUTTON,self.m_button150OnButtonClick)

def __del__(self):

pass

# Virtual event handlers,overide them in your derived class

def m_button1OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result[:-1]

self.m_textCtrl1.SetValue(result)

def m_button2OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=''

self.m_textCtrl1.SetValue(result)

def m_button3OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=int(result)

result=math.sqrt(result)

self.m_textCtrl1.SetValue(str(result))

def m_button4OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result+'/'

self.m_textCtrl1.SetValue(result)

def m_button10OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result+'7'

self.m_textCtrl1.SetValue(result)

def m_button11OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result+'8'

self.m_textCtrl1.SetValue(result)

def m_button12OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result+'9'

self.m_textCtrl1.SetValue(result)

def m_button13OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result+'*'

self.m_textCtrl1.SetValue(result)

def m_button15OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result+'4'

self.m_textCtrl1.SetValue(result)

def m_button16OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result+'5'

self.m_textCtrl1.SetValue(result)

def m_button17OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result+'6'

self.m_textCtrl1.SetValue(result)

def m_button18OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result+'-'

self.m_textCtrl1.SetValue(result)

def m_button140OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result+'1'

self.m_textCtrl1.SetValue(result)

def m_button141OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result+'2'

self.m_textCtrl1.SetValue(result)

def m_button142OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result+'3'

self.m_textCtrl1.SetValue(result)

def m_button143OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result+'+'

self.m_textCtrl1.SetValue(result)

def m_button145OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result+'0'

self.m_textCtrl1.SetValue(result)

def m_button148OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=result+'.'

self.m_textCtrl1.SetValue(result)

def m_button149OnButtonClick(self,event):

result=self.m_textCtrl1.GetValue()

result=-int(result)

self.m_textCtrl1.SetValue(str(result))

def m_button150OnButtonClick(self,event):

self.m_textCtrl1.SetValue(str(eval(self.m_textCtrl1.GetValue())))

app=wx.App()

window=MyFrame1(None)

window.Show(True)

app.MainLoop()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值