En esta oportunidad veremos como acceder a los campos mas usados en la programación gráfica, es decir: Cuadros de texto, botones, listas…etc.
La última vez hicimos un programa que solo tenia cuadros de texto, pues bién. En esta ocasión implementaremos una calculadora.
Entonces pueden descargar el archivo de la interfaz y abrirlo con WxGlade, la aplicación para desarrollar ventanas:
Luego lo exportan a un archivo Python como lo vimos anteriormente y lo ejecutamos (en la imagen se muestra el resultado):
Seguir despues del salto…
Como podrán ver esta ventana no hace nada, podemos presionar todos los botones pero no tendremos resultados. Entonces debemos agregarle los eventos:
Botones:
Al crear el archivo python, los botones quedan identificados por el nombre que le ingresamos, luego debemos hacer referencia a estos nombres para dirigir la acción que necesitemos, en la imagen tenemos un ejemplo:
El nombre de los botones que fue dado por nosotros y que ya se encuentra en el código:
Vamos a mirar solamente los dos primeros botones, es decir self.boton_2 y self.boton_3 que representan los botones numéricos de la calculadora. Notemos que tienen un formato del tipo “self.nombre_boton(self, -1, “texto”)” y el argumento central (en este caso -1) puede ser ocupado como identificador también (eso se fija en el programa de diseño visto anteriormente). El que se encuentre fijado en -1 quiere decir que lo identificaremos solamente por su nombre.
[1] Entonces veamos como hacemos referencia al boton:
Aqui podemos apreciar como tenemos el nombre del botón seguido por el llamado Bind y dos argumentos. El primero es fijo el segundo en cambio es el nombre de una función que tenemos que definir y que finalmente hará el trabajo. El prefijo “self” que tanto aparece es un elemento que se usa en las clases pero no significa nombre real, es decir la primera funcion que llama el boton_2 es justamente una funcion de nombre Dos y no self.Dos.
[2] Veamos las funciones:
Podemos ver que es en estas funciones que podemos agregar lo que necesitemos. Por ejemplo podemos hacer un print “2″ y en la consola veremos que se imprime un 2 al presionar por ejemplo el botón 2.
Pero lo ideal es que los resultados se muestren en la misma ventana y eso se hace con los cuadros de texto, los cuales veremos en una próxima entrega.
Como adelanto podemos ver en las funciones el uso de directivas del tipo SetValue([string]). SetValue se ocupa para fijar valores en los cuadros de texto.
¿Pero donde ponemos los codigos vistos?
Los codigos agregador por nosotros tienen un lugar específico y no es por capricho. El objetivo de esto es permitir seguir editando la interfaz grafica en el programa WxGlade y al exportar los archivos python no borren las lineas de codigo agregadas por nosotros. Entonces:
El código como muestra la imagen debe colocarse inmediatamente despues del texto “end wxGlade” que se encuentra bajo las definiciones de los botones y cuadros que agregamos en WxGlade. En esta sección tiene que ir la referencia al botón. Vistas en [1] .
Las funciones deben ir en el lugar donde muestra la imagen:
Para ubicarse pueden mirar que las funciones esten bajo la funcion “__do_layout(self)” y siempre después de un “#end wxGlade”. En esta parte insertamos las funciones que vimos en [2] (En los textos que están arriba de las fotos aparece el número, en este caso [2]).
Basta por hoy






muy bueno espero la siguiente entrega
solo que tengo algunas dudas esa variable “estado” para que sirve
Hola, es para decidir si debo concatenar el numero dos a uno ya existente o borrar la pantalla de la calculadora (textBox) antes de mostrar el numero dos.
Cualquier cosa me dices
Excelente, ya no puedo esperar para ver la siguiente entrega.