Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/03/2013, 20:26
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Duda sobre wxPython

Código Python:
Ver original
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # generated by wxGlade 0.6.4 on Tue Mar  5 20:17:11 2013
  4.  
  5. import wx
  6.  
  7. # begin wxGlade: extracode
  8. # end wxGlade
  9.  
  10.  
  11. class Calculadora(wx.Frame):
  12.     def __init__(self, *args, **kwds):
  13.         # begin wxGlade: Calculadora.__init__
  14.         kwds["style"] = wx.DEFAULT_FRAME_STYLE
  15.         wx.Frame.__init__(self, *args, **kwds)
  16.         self.label_primero = wx.StaticText(self, -1, u"Primer Número")
  17.         self.text_ctrl_primero = wx.TextCtrl(self, -1, "")
  18.         self.label_segundo = wx.StaticText(self, -1, u"Segundo Número")
  19.         self.text_ctrl_segundo = wx.TextCtrl(self, -1, "")
  20.         self.label_respuesta = wx.StaticText(self, -1, "Resultado")
  21.         self.text_ctrl_respuesta = wx.TextCtrl(self, -1, "")
  22.         self.button_suma = wx.Button(self, -1, "Sumar")
  23.         self.button_salir = wx.Button(self, -1, "Salir")
  24.         self.button_ayuda = wx.Button(self, -1, "Ayuda")
  25.         self.button_info = wx.Button(self, -1, "Info")
  26.  
  27.         self.__set_properties()
  28.         self.__do_layout()
  29.  
  30.         self.Bind(wx.EVT_BUTTON, self.OnSuma, self.button_suma)
  31.         self.Bind(wx.EVT_BUTTON, self.OnSalir, self.button_salir)
  32.         self.Bind(wx.EVT_BUTTON, self.OnAyuda, self.button_ayuda)
  33.         self.Bind(wx.EVT_BUTTON, self.OnInfo, self.button_info)
  34.         # end wxGlade
  35.  
  36.     def __set_properties(self):
  37.         # begin wxGlade: Calculadora.__set_properties
  38.         self.SetTitle("Calculadora")
  39.         self.text_ctrl_primero.SetMinSize((200, 27))
  40.         self.text_ctrl_segundo.SetMinSize((200, 27))
  41.         self.text_ctrl_respuesta.SetMinSize((200, 27))
  42.         # end wxGlade
  43.  
  44.     def __do_layout(self):
  45.         # begin wxGlade: Calculadora.__do_layout
  46.         vsizer = wx.BoxSizer(wx.VERTICAL)
  47.         hsizer = wx.BoxSizer(wx.HORIZONTAL)
  48.         grid_sizer = wx.GridSizer(3, 2, 0, 0)
  49.         grid_sizer.Add(self.label_primero, 0, wx.ALIGN_RIGHT, 0)
  50.         grid_sizer.Add(self.text_ctrl_primero, 0, 0, 0)
  51.         grid_sizer.Add(self.label_segundo, 0, wx.ALIGN_RIGHT, 0)
  52.         grid_sizer.Add(self.text_ctrl_segundo, 0, 0, 0)
  53.         grid_sizer.Add(self.label_respuesta, 0, wx.ALIGN_RIGHT, 0)
  54.         grid_sizer.Add(self.text_ctrl_respuesta, 0, 0, 0)
  55.         vsizer.Add(grid_sizer, 0, wx.EXPAND, 0)
  56.         hsizer.Add(self.button_suma, 0, 0, 0)
  57.         hsizer.Add(self.button_salir, 0, 0, 0)
  58.         hsizer.Add(self.button_ayuda, 0, 0, 0)
  59.         hsizer.Add(self.button_info, 0, 0, 0)
  60.         vsizer.Add(hsizer, 0, wx.ALIGN_CENTER_HORIZONTAL, 0)
  61.         self.SetSizer(vsizer)
  62.         vsizer.Fit(self)
  63.         self.Layout()
  64.         # end wxGlade
  65.  
  66.     def OnSuma(self, event):  # wxGlade: Calculadora.<event_handler>
  67.         a = int(self.text_ctrl_primero.GetValue())
  68.         b = int(self.text_ctrl_segundo.GetValue())
  69.         c = str(a + b)
  70.         self.text_ctrl_respuesta.SetValue(c)
  71.  
  72.  
  73.     def OnSalir(self, event):  # wxGlade: Calculadora.<event_handler>
  74.         self.Destroy()
  75.  
  76.     def OnAyuda(self, event):  # wxGlade: Calculadora.<event_handler>
  77.         wx.MessageBox('Introduzca a,b,c respectivamente y presione calcular para obtener las dos soluciones')
  78.  
  79.     def OnInfo(self, event):  # wxGlade: Calculadora.<event_handler>
  80.         wx.MessageBox('Autor: FGUM\nFecha de creacion: 03/03/13')
  81.  
  82. # end of class Calculadora
  83. if __name__ == "__main__":
  84.     app = wx.PySimpleApp(0)
  85.     wx.InitAllImageHandlers()
  86.     frame = Calculadora(None, -1, "")
  87.     app.SetTopWindow(frame)
  88.     frame.Show()
  89.     app.MainLoop()

Puedes usar herramientas como wxglade o wxformbuilder para hacer tus interfaces gráficas.