Python使用wxPython实现计算器

作者:云大 时间:2021-08-31 11:23:54 

本文实例为大家分享了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()

来源:http://blog.csdn.net/qq_37702781/article/details/77585036

标签:python,wxPython,计算器
0
投稿

猜你喜欢

  • Python深度学习之Keras模型转换成ONNX模型流程详解

    2023-01-02 00:32:44
  • JavaScript中两个字符串的匹配

    2023-08-08 00:46:01
  • Python3 利用face_recognition实现人脸识别的方法

    2023-11-05 05:08:02
  • Python之基础函数案例详解

    2023-07-09 19:43:24
  • php 方便水印和缩略图的图形类

    2023-10-15 15:31:28
  • Tortoise-orm信号实现及使用场景源码详解

    2021-12-18 23:01:45
  • Python3爬取英雄联盟英雄皮肤大图实例代码

    2022-05-20 23:40:55
  • Numpy 多维数据数组的实现

    2022-12-22 11:26:03
  • python实现批量获取指定文件夹下的所有文件的厂商信息

    2021-12-14 20:42:27
  • python3学习笔记之多进程分布式小例子

    2022-08-23 04:46:07
  • 虚拟环境下搭建一个Django项目

    2023-06-15 12:30:39
  • Python+Kepler.gl实现时间轮播地图过程解析

    2021-03-27 00:20:52
  • jQuery初学:find()方法及children方法的区别分析

    2011-02-05 10:58:00
  • Pyspark读取parquet数据过程解析

    2022-01-21 13:33:38
  • Python实现螺旋矩阵的填充算法示例

    2022-06-30 00:18:47
  • asp单主键高效通用分页存储过程

    2009-02-23 19:21:00
  • Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作

    2023-09-28 13:34:17
  • 如何使用PyCharm将代码上传到GitHub上(图文详解)

    2021-02-18 05:13:31
  • go Cobra命令行工具入门教程

    2023-06-24 18:27:12
  • python实现图片批量压缩

    2022-01-20 03:03:20
  • asp之家 网络编程 m.aspxhome.com