calculadora de Python
Implementación de la calculadora Python:
wx.TextCtrl (control de entrada de texto), esta es la pantalla de visualización de la calculadora. Cuando hace clic en el número, use el método AppendText para agregarlo. número al final del texto Para Al sacar números, use el método GetValue Al hacer clic en el operador, borre el número en el cuadro de texto (guárdelo primero) y use el método Borrar y luego guarde el operador. signo igual, almacene el segundo operando y luego use int. El método convierte la cadena en un número. Después del cálculo, el método SetValue se usa para enviar el resultado al cuadro de texto. El código específico es el siguiente: import?wx. p>
#?begin?wxGlade:?extracode
# ?end?wxGlade
clase?MyFrame(wx.Frame):
def? __init__(self, ?*args, ?**kwds):
#?begin?wxGlade: ?MyFrame.__init__
kwds["estilo"]?=?wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self,?*args,?* *kwds)
self.text_ctrl_1?=?wx.TextCtrl(self,?-1,?"" , estilo=wx.TE_READONLY)
self.button_37?=?wx .Button(self,?-1,?"1")
self.button_38?=?wx. Botón(self,?-1,?"2")
self .button_39?=?wx.Button(self,?-1,?"3")
self. button_40?=?wx.Button(self,?-1,?" ")
self.button_41?=?wx.Button(self,?-1,?"4")
self.button_42?=?wx.Button(self,?-1,?" 5")
self.button_43?=?wx.Button(self,?-1,?"6 ")
self.button_44?=?wx.Button(self, ?-1,?"-")
self.button_46?=?wx.Button(self,? -1,?"7")
self.button_45?=? wx.Button(self,?-1,?"8")
self.button_47?=?wx .Button(self,?-1,?"9")
self.button_48?=?wx.Button(self,?-1,?"x")
self .button_49?=?wx.Button(self,?-1,?"C")
self.button_50?=?wx.Button(self,?-1,?"0") p>
self.button_51?=?wx.Button(self,?-1, ?"=")
self.button_52?=?wx.Button(self,?-1,? "/")
self.__set_properties()
self.__do_layout()
self.Bind(w
x.EVT_BUTTON,?self.bu1,?self.button_37)
self.Bind(wx.EVT_BUTTON,?self.bu2,?self.button_38)
self.Bind( wx.EVT_BUTTON,?self.bu3,?self.button_39)
self.Bind(wx.EVT_BUTTON,?self.bu_plus,?self.button_40)
self.Bind( wx.EVT_BUTTON,?self.bu4,?self.button_41)
self.Bind(wx.EVT_BUTTON,?self.bu5,?self.button_42)
self.Bind( wx.EVT_BUTTON,?self.bu6,?self.button_43)
self.Bind(wx.EVT_BUTTON,?self.bu_min,?self.button_44)
self.Bind( wx.EVT_BUTTON,?self.bu7,?self.button_46)
self.Bind(wx.EVT_BUTTON,?self.bu8,?self.button_45)
self.Bind( wx.EVT_BUTTON,?self.bu9,?self.button_47)
self.Bind(wx.EVT_BUTTON,?self.bu_mul,?self.button_48)
self.Bind( wx.EVT_BUTTON,?self.bu_clear,?self.button_49)
self.Bind(wx.EVT_BUTTON,?self.bu0,?self.button_50)
self.Bind( wx.EVT_BUTTON,?self.bu_result,?self.button_51)
self.Bind(wx.EVT_BUTTON,?self.bu_chu,?self.button_52)
#?end? wxGlade
self.Show(True)
def?__set_properties(self):
#?begin?wxGlade:?MyFrame.__set_properties
self.SetTitle("Python?Calculator?by?CYG")
self.text_ctrl_1.SetMinSize((400,?50))
self.button_37.SetMinSize(( ( 100,?50))
self.button_38.SetMinSize((100,?50))
self.button_39.SetMinSize((100,?50))
self.button_40.SetMinSize((100,?50))
self.button_41.SetMinSize((100,?50))
self.button_42.SetMinSize( (100,?50))
self.button_43.SetMinSize((100,?50))
self.button_44.SetMinSize((100,?50))
self.button_46.SetMinSize((100,? 50))
self.button_45.SetMinSize((100,?50))
self.button_47.SetMinSize((100,?50))
self.button_48.SetMinSize((100,?50))
self.button_49.SetMinSize((100,?50))
self.button_50.SetMinSize((100,? 50))
self.button_51.SetMinSize((100,?50))
self.button_52.SetMinSize((100,?50))
#?end?wxGlade
def?__do_layout(self):
#?begin?wxGlade:?MyFrame.__do_layout
sizer_2?=?wx.BoxSizer (wx.VERTICAL)
sizer_3?=?wx.BoxSizer(wx.VERTICAL)
grid_sizer_1?=?wx.GridSizer(4,?4,?0,?0)
sizer_3.Add(self.text_ctrl_1,?0,?0,?0)
grid_sizer_1.Add(self.button_37,?0,?0,?0) p>
p>
grid_sizer_1.Add(self.button_38,?0,?0,?0)
grid_sizer_1.Add(self.button_39,?0,?0,?0 )
grid_sizer_1.Add(self.button_40,?0,?0,?0)
grid_sizer_1.Add(self.button_41,?0,?0,?0)
grid_sizer_1.Add(self.button_42,?0,?0,?0)
grid_sizer_1.Add(self.button_43,?0,?0,?0)
grid_sizer_1 .Add(self.button_44,?0,?0,?0)
grid_sizer_1.Add(self.button_46,?0,?0,?0)
grid_sizer_1.Add (self.button_45,?0,?0,?0)
grid_sizer_1.Add(self.button_47,?0,?0,?0)
grid_sizer_1.Add(self .button_48,?0,?0,?0)
grid_sizer_1.Add(self.button_49,?0,?0,?0)
grid_sizer_1. Agregar(self.button_50 ,?0,?0,?0)
grid_sizer_1.Add(self.button_51,?
0,?0,?0)
grid_sizer_1.Add(self.button_52,?0,?0,?0)
sizer_3.Add(grid_sizer_1,?1,?wx .EXPAND,?0)
sizer_2.Add(sizer_3,?1,?wx.EXPAND,?0)
self.SetSizer(sizer_2)
sizer_2.Fit(self)
self.Layout()
#?end?wxGlade
def?bu1(self, ?event):?#? wxGlade:?MyFrame.lt;event_handlergt;
self.text_ctrl_1.AppendText("1")
event.Skip()
def?bu2(self ,?event):?#?wxGlade:?MyFrame.lt;event_handlergt;
self.text_ctrl_1.AppendText("2")
event.Skip()
def?bu3(self,?event):?#?wxGlade:?MyFrame.lt;event_handlergt;
self.text_ctrl_1.AppendText("3")
evento .Skip()
def?bu_plus(self,?event):?#?wxGlade:?MyFrame.lt;event_handlergt;
self.num1=self.text_ctrl_1.GetValue( )
self.op=" "
self.text_ctrl_1.Clear()
event.Skip()
def?bu4 (self,?evento):?#?wxGlade:?MyFrame.lt;event_handlergt;
self.text_ctrl_1.AppendText("4")
event.Skip() p>
p>
def?bu5(self,?event):?#?wxGlade:?MyFrame.lt;event_handlergt;
self.text_ctrl_1.AppendText("5")
event.Skip()
def?bu6(self,?event):?#?wxGlade:?MyFrame.lt;event_handlergt;
self.text_ctrl_1 .AppendText("6 ")
event.Skip()
def?bu_min(self,?event):?#?wxGlade:?MyFrame.lt;event_handlergt; p>
self.num1=self.text_ctrl_1.GetValue()
self.op="-"
self.text_ctrl_1.Clear()
event.Skip( )
def?bu7(self,?event):?#?wxGlade:?MyF
rame.lt;event_handlergt;
self.text_ctrl_1.AppendText("7")
event.Skip()
def?bu8(self,?event ):?#?wxGlade:?MyFrame.lt;event_handlergt;
self.text_ctrl_1.AppendText("8")
event.Skip()
def?bu9(self,?event):?#?wxGlade:?MyFrame.lt;event_handlergt;
self.text_ctrl_1.AppendText("9")
event.Skip( )
def?bu_mul(self,?event):?#?wxGlade:?MyFrame.lt;event_handlergt;
self.num1=self.text_ctrl_1.GetValue() p> p>
self.op="x"
self.text_ctrl_1.Clear()
event.Skip()
def?bu_clear (self ,?event):?#?wxGlade:?MyFrame.lt;event_handlergt;
self.text_ctrl_1.Clear()
event.Skip()
def?bu0(self,?event):?#?wxGlade:?MyFrame.lt;event_handlergt;
self.text_ctrl_1.AppendText("0")
evento. Saltar( )
def?bu_chu(self,?event):?#?wxGlade:?MyFrame.lt;event_handlergt;
self.num1=self.text_ctrl_1.GetValue()
p>self.op="/"
self.text_ctrl_1.Clear()
event.Skip()
def ?bu_result(self ,?event):?#?wxGlade:?MyFrame.lt;event_handlergt;
self.num2=self.text_ctrl_1.GetValue()
num1=int( self.num1)
num2=int(self.num2)
if?self.op==" ":
self.text_ctrl_1.SetValue(str (num1 num2) )
elif?self.op=="-":
self.text_ctrl_1.SetValue(str(num1-num2))
elif?self.op=="x":
self.text_ctrl_1.SetValue(str(num1*num2))
elif?self.op=="/":
self.text_ctrl_1.SetValue(str(num1/num2
))
event.Skip()
#?end?of?class?MyFrame
if?__name__?==?"__main__": p>
app=wx.App(False)
myframe=MyFrame(Ninguno)
app.MainLoop()