Python使用wxPython实现计算器


Posted in Python onJanuary 30, 2018

本文实例为大家分享了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, 0, wx.ALL, 5)

 bSizer2 = wx.BoxSizer(wx.HORIZONTAL)

 self.m_button1 = wx.Button(self, wx.ID_ANY, u"退格", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer2.Add(self.m_button1, 0, wx.ALL, 5)

 self.m_button2 = wx.Button(self, wx.ID_ANY, u"清屏", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer2.Add(self.m_button2, 0, wx.ALL, 5)

 self.m_button3 = wx.Button(self, wx.ID_ANY, u"sqrt", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer2.Add(self.m_button3, 0, wx.ALL, 5)

 self.m_button4 = wx.Button(self, wx.ID_ANY, u"/", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer2.Add(self.m_button4, 0, wx.ALL, 5)

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

 bSizer6 = wx.BoxSizer(wx.HORIZONTAL)

 self.m_button10 = wx.Button(self, wx.ID_ANY, u"7", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer6.Add(self.m_button10, 0, wx.ALL, 5)

 self.m_button11 = wx.Button(self, wx.ID_ANY, u"8", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer6.Add(self.m_button11, 0, wx.ALL, 5)

 self.m_button12 = wx.Button(self, wx.ID_ANY, u"9", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer6.Add(self.m_button12, 0, wx.ALL, 5)

 self.m_button13 = wx.Button(self, wx.ID_ANY, u"*", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer6.Add(self.m_button13, 0, wx.ALL, 5)

 bSizer1.Add(bSizer6, 0, wx.EXPAND, 5)

 bSizer7 = wx.BoxSizer(wx.HORIZONTAL)

 self.m_button15 = wx.Button(self, wx.ID_ANY, u"4", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer7.Add(self.m_button15, 0, wx.ALL, 5)

 self.m_button16 = wx.Button(self, wx.ID_ANY, u"5", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer7.Add(self.m_button16, 0, wx.ALL, 5)

 self.m_button17 = wx.Button(self, wx.ID_ANY, u"6", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer7.Add(self.m_button17, 0, wx.ALL, 5)

 self.m_button18 = wx.Button(self, wx.ID_ANY, u"-", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer7.Add(self.m_button18, 0, wx.ALL, 5)

 bSizer1.Add(bSizer7, 0, wx.EXPAND, 5)

 bSizer34 = wx.BoxSizer(wx.HORIZONTAL)

 self.m_button140 = wx.Button(self, wx.ID_ANY, u"1", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer34.Add(self.m_button140, 0, wx.ALL, 5)

 self.m_button141 = wx.Button(self, wx.ID_ANY, u"2", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer34.Add(self.m_button141, 0, wx.ALL, 5)

 self.m_button142 = wx.Button(self, wx.ID_ANY, u"3", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer34.Add(self.m_button142, 0, wx.ALL, 5)

 self.m_button143 = wx.Button(self, wx.ID_ANY, u"+", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer34.Add(self.m_button143, 0, wx.ALL, 5)

 bSizer1.Add(bSizer34, 0, wx.EXPAND, 5)

 bSizer35 = wx.BoxSizer(wx.HORIZONTAL)

 self.m_button145 = wx.Button(self, wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer35.Add(self.m_button145, 0, wx.ALL, 5)

 self.m_button148 = wx.Button(self, wx.ID_ANY, u".", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer35.Add(self.m_button148, 0, wx.ALL, 5)

 self.m_button149 = wx.Button(self, wx.ID_ANY, u"+/-", wx.DefaultPosition, wx.Size(110, 60), 0)
 bSizer35.Add(self.m_button149, 0, wx.ALL, 5)

 self.m_button150 = wx.Button(self, wx.ID_ANY, u"=", wx.DefaultPosition, wx.Size(110, 600), 0)
 self.m_button150.SetMinSize(wx.Size(110, 60))

 bSizer35.Add(self.m_button150, 0, wx.ALL, 5)

 bSizer1.Add(bSizer35, 0, wx.EXPAND, 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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python遍历指定城市的一周气温
Mar 31 Python
python密码错误三次锁定(实例讲解)
Nov 14 Python
Python在groupby分组后提取指定位置记录方法
Apr 20 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
May 31 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
Oct 30 Python
在PyCharm下使用 ipython 交互式编程的方法
Jan 17 Python
Python理解递归的方法总结
Jan 28 Python
python解压TAR文件至指定文件夹的实例
Jun 10 Python
mac系统下Redis安装和使用步骤详解
Jul 09 Python
如何利用python给图片添加半透明水印
Sep 06 Python
python如何调用字典的key
May 25 Python
python通用数据库操作工具 pydbclib的使用简介
Dec 21 Python
python链接oracle数据库以及数据库的增删改查实例
Jan 30 #Python
python实现简易版计算器
Jun 22 #Python
python列表的增删改查实例代码
Jan 30 #Python
Python+tkinter使用40行代码实现计算器功能
Jan 30 #Python
Python Tkinter实现简易计算器功能
Jan 30 #Python
python使用tkinter实现简单计算器
Jan 30 #Python
Python实现简单遗传算法(SGA)
Jan 29 #Python
You might like
php 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
php中使用PHPExcel读写excel(xls)文件的方法
2014/09/15 PHP
Ubuntu12下编译安装PHP5.3开发环境
2015/03/27 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
PHP生成各种随机验证码的方法总结【附demo源码】
2017/06/05 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
JavaScript Array对象详解
2016/03/01 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
移动端效果之IndexList详解
2017/10/20 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
微信小程序图片轮播组件gallery slider使用方法详解
2018/01/31 Javascript
Electron + vue 打包桌面操作流程详解
2019/06/24 Javascript
微信小程序常用的3种提示弹窗实现详解
2019/09/19 Javascript
解决vue的过渡动画无法正常实现问题
2019/10/31 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
Vue实现指令式动态追加小球动画组件的步骤
2020/12/18 Vue.js
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
python求最大值最小值方法总结
2019/06/25 Python
python 并发下载器实现方法示例
2019/11/22 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
2019/12/04 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
北美最大的手工艺品零售商之一:Michaels Stores
2019/02/27 全球购物
中专毕业生自荐信
2013/11/16 职场文书
会计专业毕业生求职信分享
2014/01/03 职场文书
乡镇干部先进事迹材料
2014/02/03 职场文书
机械设计及其自动化求职推荐信
2014/02/17 职场文书
公司保密承诺书
2014/03/27 职场文书
解除劳动关系协议书2篇
2014/11/28 职场文书
小学优秀教师先进事迹材料
2014/12/16 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书
详解MongoDB的条件查询和排序
2021/06/23 MongoDB
关于python中readlines函数的参数hint的相关知识总结
2021/06/24 Python