Ejercicio96.py
Comenzamos a usar el programa wxGlade, para empeshar a entender lo de los sizers.
Realizar la aplicacion de la imagen:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# generated by wxGlade 0.6.3 on Wed Aug 5 14:56:24 2009
import wx
import wx.calendar
# begin wxGlade: extracode
# end wxGlade
class MyFrame(wx.Frame):
def __init__(self, *args, **kwds):
# begin wxGlade: MyFrame.__init__
kwds["style"] = wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
self.historia_clinica = wx.StaticText(self, -1, "Historia Clinica: ")
self.num_afiliado = wx.StaticText(self, -1, u"N° Afiliado: ")
self.guarda_num_afiliado = wx.TextCtrl(self, -1, "")
self.nacionalidad = wx.StaticText(self, -1, "Nacionalidad: ")
self.lista_nacionalidades = wx.ComboBox(self, -1, choices=["Argentino", "Chileno", "Boliviano", "Frances", "Aleman", "Estado unidense", "Canadiense", "Brasilero", "Italiano", "Japones", "Koreano", "Chino", u"Español", "Griego", "Uruguayo", "Tailandes", "Cubano", u"Puerto riqueño", "Mexicano", "Venezolano", "Portugues"], style=wx.CB_DROPDOWN|wx.CB_DROPDOWN)
self.Nombre = wx.StaticText(self, -1, "Nombre: ")
self.guarda_nombre = wx.TextCtrl(self, -1, "")
self.operado = wx.StaticText(self, -1, "Operado: ")
self.guarda_operado = wx.CheckBox(self, -1, "")
self.apellido = wx.StaticText(self, -1, "Apellido: ")
self.guarda_apellido = wx.TextCtrl(self, -1, "")
self.madre = wx.StaticText(self, -1, "Madre: ")
self.guarda_madre = wx.CheckBox(self, -1, "")
self.fecha_nac = wx.StaticText(self, -1, "Fecha Nac: ")
self.calendario = wx.DatePickerCtrl(self, -1)
self.obs = wx.StaticText(self, -1, "Obs: ")
self.guarda_obs = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE)
self.boton_cancelar = wx.Button(self, -1, "&Cancelar")
self.boton_aceptar = wx.Button(self, -1, "&Aceptar")
self.__set_properties()
self.__do_layout()
self.Bind(wx.EVT_CHECKBOX, self.onOperado, self.guarda_operado)
self.Bind(wx.EVT_CHECKBOX, self.OnMadre, self.guarda_madre)
self.Bind(wx.EVT_BUTTON, self.OnCancelar, self.boton_cancelar)
self.Bind(wx.EVT_BUTTON, self.OnAceptar, self.boton_aceptar)
# end wxGlade
# end wxGlade
def __set_properties(self):
# begin wxGlade: MyFrame.__set_properties
self.SetTitle("Sanatorio Dr. Hacha Ytiza")
self.historia_clinica.SetFont(wx.Font(20, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
self.num_afiliado.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
self.guarda_num_afiliado.SetMinSize((180, 27))
self.nacionalidad.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
self.lista_nacionalidades.SetMinSize((189, 27))
self.lista_nacionalidades.SetSelection(-1)
self.Nombre.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
self.guarda_nombre.SetMinSize((180, 27))
self.operado.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
self.apellido.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
self.guarda_apellido.SetMinSize((180, 27))
self.madre.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
self.fecha_nac.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
self.calendario.SetMinSize((180, 27))
self.obs.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
self.guarda_obs.SetMinSize((189, 160))
# end wxGlade
def __do_layout(self):
# begin wxGlade: MyFrame.__do_layout
sizer_1 = wx.BoxSizer(wx.VERTICAL)
sizer_2 = wx.BoxSizer(wx.HORIZONTAL)
grid_sizer_1 = wx.FlexGridSizer(4, 4, 4, 4)
sizer_1.Add(self.historia_clinica, 0, wx.ALL, 15)
grid_sizer_1.Add(self.num_afiliado, 0, wx.ALL, 15)
grid_sizer_1.Add(self.guarda_num_afiliado, 0, wx.ALL|wx.EXPAND, 10)
grid_sizer_1.Add(self.nacionalidad, 0, wx.ALL, 15)
grid_sizer_1.Add(self.lista_nacionalidades, 0, wx.ALL|wx.EXPAND, 10)
grid_sizer_1.Add(self.Nombre, 0, wx.ALL, 15)
grid_sizer_1.Add(self.guarda_nombre, 0, wx.ALL|wx.EXPAND, 10)
grid_sizer_1.Add(self.operado, 0, wx.ALL, 15)
grid_sizer_1.Add(self.guarda_operado, 0, wx.ALL, 10)
grid_sizer_1.Add(self.apellido, 0, wx.ALL, 15)
grid_sizer_1.Add(self.guarda_apellido, 0, wx.ALL|wx.EXPAND, 10)
grid_sizer_1.Add(self.madre, 0, wx.ALL, 15)
grid_sizer_1.Add(self.guarda_madre, 0, wx.ALL, 10)
grid_sizer_1.Add(self.fecha_nac, 0, wx.ALL, 15)
grid_sizer_1.Add(self.calendario, 0, wx.ALL, 10)
grid_sizer_1.Add(self.obs, 0, wx.ALL, 15)
grid_sizer_1.Add(self.guarda_obs, 0, wx.ALL|wx.EXPAND, 10)
grid_sizer_1.AddGrowableCol(1)
grid_sizer_1.AddGrowableCol(3)
sizer_1.Add(grid_sizer_1, 1, wx.EXPAND, 0)
sizer_2.Add(self.boton_cancelar, 0, wx.ALL, 15)
sizer_2.Add(self.boton_aceptar, 0, wx.ALL, 15)
sizer_1.Add(sizer_2, 0, wx.ALIGN_RIGHT, 0)
self.SetSizer(sizer_1)
sizer_1.Fit(self)
self.Layout()
# end wxGlade
def onOperado(self, event): # wxGlade: MyFrame.
pass
def OnMadre(self, event): # wxGlade: MyFrame.
pass
def OnCancelar(self, event): # wxGlade: MyFrame.
frame.Close()
# falta el checkbox ponerle el evento desde el wxglade i falta mover el calendario
def OnAceptar(self, event): # wxGlade: MyFrame.
ingresonombre = self.guarda_nombre.GetValue()
ingresoapellido = self.guarda_apellido.GetValue()
ingreso_num_afiliado = self.guarda_num_afiliado.GetValue()
ingreso_fecha_nac = self.calendario.GetValue()
ingreso_fecha_nac = (('%04d/%02d/%02d') % (ingreso_fecha_nac.GetYear(),
ingreso_fecha_nac.GetMonth()+1,
ingreso_fecha_nac.GetDay()))
ingresonacionalidad = self.lista_nacionalidades.GetValue()
ingresooperado = self.guarda_operado.GetValue()
ingresomadre = self.guarda_madre.GetValue()
if ingresooperado == True:
guarda_operado = 'Operado'
else:
guarda_operado = 'No operado'
if ingresomadre == True:
guarda_madre = 'Es madre'
else:
guarda_madre = 'No es madre'
ingresooperado = guarda_operado
ingresomadre = guarda_madre
ingresoobs = self.guarda_obs.GetValue()
dialogo = wx.MessageDialog(frame, u'Señor/a %s %s, con N° de afiliado: %s. Nacido el %s en %s, usted fue %s, y %s. Observaciones: %s ' % (ingresonombre, ingresoapellido, ingreso_num_afiliado, ingreso_fecha_nac, ingresonacionalidad, ingresooperado, ingresomadre, ingresoobs ) , u'Información', wx.OK | wx.ICON_INFORMATION)
dialogo.ShowModal()
dialogo.Destroy()
# end of class MyFrame
if __name__ == "__main__":
app = wx.PySimpleApp(0)
wx.InitAllImageHandlers()
frame = MyFrame(None, -1, "")
app.SetTopWindow(frame)
frame.Show()
app.MainLoop()
by x0iz!
Deja un comentario