Ejercicio88.py
Continuacion del Ejercicio 87 pero agregandole el foco el centrado i lo de la fecha
# -*- coding: UTF8 -*-
import wx
class App(wx.App):
def OnInit(self):
self.ventana = wx.Frame(parent = None, title = u'Examen Medico', size = (360,470))
self.ventana.CenterOnScreen()
panel = wx.Panel(self.ventana, -1)
datos = wx.StaticText(panel, -1, u'Datos del empleado: ', pos = (20,20))
apellido = wx.StaticText(panel, -1, u'Apellido: ', pos = (20,50))
self.cuadro_apellido = wx.TextCtrl(panel, -1, '', pos = (190 , 45), size = (150,-1))
self.cuadro_apellido.SetFocus()
nombres = wx.StaticText(panel, -1, u'Nombres: ', pos = (20,80))
self.cuadro_nombre = wx.TextCtrl(panel, -1, '', pos = (190 , 75), size = (150,-1))
edad = wx.StaticText(panel, -1, u'Edad: ', pos = (20,110))
cuadro_edad = wx.SpinCtrl(panel, -1, pos = (190,105), size = (150,-1))
cuadro_edad.SetRange(0,100)
fecha_nacimiento = wx.StaticText(panel, -1, 'Fecha de Nacimiento', pos = (20,140))
self.cuadro_nacimiento = wx.DatePickerCtrl(panel, -1, pos = (190,135), size = (150, -1))
sexo = wx.StaticText(panel, -1, u'Sexo: ', pos = (20,170))
sexolista = [u'F', u'M']
cuadro_sexo = wx.ComboBox(panel, -1, '', (190,165), (150,-1), sexolista, wx.CB_DROPDOWN)
doctor = wx.StaticText(panel, -1, u'Doctor que lo atendio: ', pos = (20,200))
doctorlista = [u'Dra. Queen', u'Dr. Howard', u'Dr. House']
cuadro_doctor = wx.ComboBox(panel, -1, '', (190,195), (150,-1), doctorlista, wx.CB_DROPDOWN)
contrato = wx.StaticText(panel, -1, u'Situacion Laboral: ', pos = (20,230))
contratolista = [u'Efectivo', u'Tercerizado', u'Contratado']
contrato_doctor = wx.ComboBox(panel, -1, '', (190,225), (150,-1), contratolista, wx.CB_DROPDOWN)
historia_clinica = wx.StaticText(panel, -1, u'Historia Clinica', pos = (20,260))
cuadro_historia_clinica = wx.TextCtrl(panel, -1, '', pos = (20 , 280), size = (320,120), style = wx.TE_MULTILINE)
boton_aceptar = wx.Button(panel, -1, u'Aceptar', pos = (250,420))
boton_cancelar = wx.Button(panel, -1, u'Cancelar', pos = (150,420))
self.Bind(wx.EVT_BUTTON, self.OnSalir, boton_cancelar)
self.Bind(wx.EVT_BUTTON, self.OnAceptar, boton_aceptar)
self.ventana.Show()
return True
def OnSalir(self, evt):
self.ventana.Close()
def OnAceptar(self, evt):
fechanac = self.cuadro_nacimiento.GetValue()
fechanac = (('%04d/%02d/%02d') % (fechanac.GetYear(),
fechanac.GetMonth()+1,
fechanac.GetDay()))
print fechanac
ingresonombre = self.cuadro_nombre.GetValue()
ingresoapellido = self.cuadro_apellido.GetValue()
dialogo = wx.MessageDialog(self.ventana, u'Estimado/a %s %s, sus datos fueron guardados' % (ingresonombre, ingresoapellido), u'Información', wx.OK | wx.ICON_INFORMATION)
dialogo.ShowModal()
dialogo.Destroy()
aplicacion = App()
aplicacion.MainLoop()
Aporte de rey
# -*- coding: UTF8 -*-
# Ejercicio numero 88
import wx
import os
class Ventana(wx.App):
def OnInit(self):
# Creamos el Frame principal y le adosamos el panel en donde estaran los widgets
self.ventana=wx.Frame(parent=None, title=u'Ingreso', size=(350,435))
self.ventana.CenterOnScreen()
self.panel=wx.Panel(self.ventana,-1)
# Aca creamos el texto Apellido y abajo del mismo el area para escribir el mismo
apellido=wx.StaticText(self.panel,-1,u'Apellido ',pos=(30,22))
self.apellidos=wx.TextCtrl(self.panel,-1,pos=(100,17),size=(210,-1))
self.apellidos.SetFocus()
# Hacemos lo mismo con el nombre
nombre=wx.StaticText(self.panel,-1,u'Nombre ',pos=(30,52))
self.nombres=wx.TextCtrl(self.panel,-1,pos=(100,47),size=(210,-1))
# Y la edad, pero utilizando otro widget como el de SpinCtrl que limita a que ingresemos
# si o si numeros en un rango asignado por SetRange
edad=wx.StaticText(self.panel,-1,u'Edad: ',pos=(30,85))
self.edads=wx.SpinCtrl(self.panel,-1,pos=(100,80),size=(55,-1))
self.edads.SetRange(1,120)
naci=wx.StaticText(self.panel,-1,u'Fecha Nac',pos=(30,115))
self.nacis=wx.DatePickerCtrl(self.panel,-1,pos=(100,110),size=(150,-1))
# Hacemos el control de sexo limitando a un ComboBox de tres opciones
sexo=wx.StaticText(self.panel,-1,u'Sexo ',pos=(30,145))
posibles=[u'Masculino',u'Femenino',u'No se no contesto']
self.sexos=wx.ComboBox(self.panel,-1,u'Masculino',(100,140),(150,30),posibles,wx.CB_DROPDOWN|wx.CB_READONLY)
# Repetimos lo anterior, pero para otro tema
situacion=wx.StaticText(self.panel,-1,u'Situacion ',pos=(30,180))
precario=[u'Contratado',u'Efectivo',u'Tercerizado']
self.precarios=wx.ComboBox(self.panel,-1,u'Contratado',(100,175),(150,-1),precario,wx.CB_DROPDOWN|wx.CB_READONLY)
# Aca elegimos al medico que atiende
medico=wx.StaticText(self.panel,-1,u'Medico',pos=(30,213))
medicotico=[u'Dra Pamela',u'Dra Queen',u'Dr Howard',u'Dr House']
self.medicos=wx.ComboBox(self.panel,-1,u'Dra Pamela',(100,208),(150,-1),medicotico,wx.CB_DROPDOWN|wx.CB_READONLY)
# Y aca dejamos un control para la historia clinica. Con un area grande
historia=wx.StaticText(self.panel,-1,u'Historia Clinica',pos=(30,240))
self.historiass=wx.TextCtrl(self.panel,-1,u'',(100,265),(210,120), style=wx.TE_MULTILINE)
# Aca vienen los botones tipicos de formularios, aceptar y camcelar
btnaceptar=wx.Button(self.panel,-1,u'Aceptar', pos=(250,395))
btncancelar=wx.Button(self.panel,-1,u'Cancelar', pos=(150,395))
# Y la unica accion que realiza por el momento es cerrar la ventana en caso de presionar cancelar
self.Bind(wx.EVT_BUTTON,self.OnSalir,btncancelar)
self.Bind(wx.EVT_BUTTON,self.OnAceptar,btnaceptar)
self.ventana.Show()
return True
def OnSalir(self,evt): # esta funcion permite cerra la aplicacion por medio del boton cancelar
print u'Buevones, me voy'
self.ventana.Destroy()
def OnAceptar(self,evt):
apellido=self.apellidos.GetValue()
nombre=self.nombres.GetValue()
edad=self.edads.GetValue()
nac=self.nacis.GetValue()
fecha=('%04d-%02d-%02d' %(nac.GetYear(),nac.GetMonth()+1,nac.GetDay()))
sexo=self.sexos.GetValue()
situacion=self.precarios.GetValue()
atendido=self.medicos.GetValue()
historia=self.historiass.GetValue()
dlg=wx.MessageDialog(self.ventana,u'Bienvenido %s %s, usted tiene %s años, nacio el %s, su sexo es %s, su situacion laboral es %s, fue atendido por dra/o %s, y su historia clinica es %s'%(nombre,apellido,edad,fecha,sexo,situacion,atendido,historia),u'Bienvenidos ',wx.OK|wx.ICON_INFORMATION)
dlg.ShowModal()
dlg.Destroy()
aplicacion=Ventana()
aplicacion.MainLoop()
Deja un comentario