Ejercicio96.py

Comenzamos a usar el programa wxGlade, para empeshar a entender lo de los sizers.

Realizar la aplicacion de la imagen:
96


#!/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