Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTERFACES GRAFICAS
Anteriormente se ha trabajado código plano, es decir toda interacción se hace mediante
código, el usuario debe ser en si un programador para poder interactuar, no obstante,
Python trae el modo de hacer interfaces graficas que interactúen con un usuario, con el
fin de cumplir un objetivo.
Librería Tkinter: Es un binding de la biblioteca gráfica Tcl/Tk para el lenguaje de
programación Python. Se considera un estándar para la interfaz gráfica de usuario (GUI)
para Python y es el que viene por defecto con la instalación para Microsoft Windows.
Además de Tkinter existen más librerías que se pueden usar para trabajar interfaces
graficas con Python, por ejemplo, WxPython, PyQT, PyGTK.
Cuando se crea una interfaz gráfica con la instrucción Tk esto hace referencia al principio
de la ventana donde se trabajara, y mainloop marca el final.
Las ventanas que se crean mediante esta librería vendrán por defecto con un icono, un
título, tamaño y los botones de minimizar, maximizar, y cerrar.
Hay muchas opciones con las cuales modificar el frame. Por ejemplo fill, usada para
mantener el frame estático y que se redimensione a medida que se modifique la pantalla.
Existen muchas opciones dentro de esta librería, para consultar dichas opciones solo hay
que ir a https://docs.python.org/3/library/tk.html e investigar las opciones deseadas.
WIDGETS
Label: Usualmente usado para nombrar o mostrar un texto estático.
Text Texto que se muestra en pantalla
Anchor Controla la posición
Bg El color de fondo
Bd Grosor del borde
Font Fuente a usar
Fg Color de fuente
Width y height Ancho y alto
Image Insertar una imagen
Justify Justificar el texto.
Sintaxis:
Widget Entry:
Sintaxis:
Una complicación existente en Python es el posicionamiento de los elementos dentro del
frame ya que hay que hacerlo por coordenada en (x) y (y), para simplificar dichas acciones
se creara una tabla que ayuda a posicionar los elementos sin importar el tamaño y la
cantidad.
Una Grid es similar a la imagen anterior, posiciona los elementos en columnas y filas
mediante más objetos va creciendo y generando casillas para los elementos.
Sintaxis:
Mediante el grid se especifica que fila (row) y que columna (column) es deseada.
Ejemplo:
Para Colocar una margen entre recuadros se usa la instrucción pad y se selecciona el eje
(x ó y) donde requiere la margen.
Scroll Bar: Para interfaces graficas el uso de scroll bar son muy comunes ya que
permiten al usuario visualizar el contenido de un Entry y rectificar la información
propuesta.
Crear un Label y un Text con el fin de que el usuario introduzca una queja o reclamo.
Botones: Los botones tienen la función de cumplir una acción cuando se presione.
Sintaxis:
Dichos elementos son para manejar la sintaxis basica de los widgets de python.
Mediante se construye mas interfaces, se va aprendiendo otras obciones que dispone
python para el usuario.
CALCULADORA
Para demostrar la utilidad de dichos elementos se requiere crear una calculadora parecida
a la que viene por defecto en Windows.
Es algo muy sencillo crear botones dentro del grid para que estén ordenados.
Y de la misma forma con los demás botones
Una vez realizado los botones, modificados el tamaño a gusto, modificaremos la pantalla
para que ocupe o se una para que se muestre horizontalmente, es decir:
Columnspan: que hace referencia a unir las columnas hasta donde se requiera es decir
hasta la columna 5.
Y para unir filas: rowspan=
Aplicando un poco de diseño y colores quedaría de la siguiente manera.
Pero si hacemos esto, al ejecutar, el programa dejara los números por defecto y no
dejara usar las pulsaciones.
Para ello incluimos una nueva función llamada (lambda) que más adelante se
explicara de una mejor manera.
Declarar las dos variables en el principio del frame, Operación será igual a cadena
vacía ya que se necesita almacenar la operación seleccionada por el usuario, en caso
opuesto si no seleccionan una operación el objetivo que tendrá el programa es seguir
concatenando caracteres.
Por otro lado la variable resultado solo almacenara el dato que este en pantalla.
Operación suma: Definir una funcion suma que llevara las dos variables globales
Luego citamos la variable numeroPantalla para que recoja el resultado y lo almacene
en el variable resultado.
Ahora el botón (+) de la calculadora necesita llamar la función suma para funcionar.
Boton (=): como se sabe el botón = debe mostrar el resultado de una operación.
Ejecutar programa.
Al ejecutar dicho programa se notara que hay un error al introducir el segundo operador
se sobrescribe.
Para ello debemos indicar a Python que necesita resetear cada vez que se introduzca una
nueva operación.
Declaramos una nueva variable global.
Una vez realizado esta operación quedara el resto de funciones de una calculadora, no se
hará la explicación del faltante de operaciones para no alargar este ejercicio.
La misma calculadora terminada con todas las operaciones, en el siguiente link.
https://www.youtube.com/redirect?q=http%3A%2F%2Fwww.pildorasinformaticas.es%2Farchivos%2Fpython%2Fvideo50.zip&event
=video_description&v=YfYUOUGMaXU&redir_token=lThv3TfeXwR2SVeuDeKeRcnRsL98MTU2NDE0OTQxNEAxNTY0MDYzMDE0
INTERFAZ GRAFICA
Botones de radio (.Radiobuttons): Los radio buttons son los siguientes
El codigo es el siguiente:
No hace falta explicar mucho ya que se ha visto con anterioridad, lo único nuevo es:
1. Concatenación: Ese tipo de sintaxis que se observa es para ahorrar un poco de
línea de código.
2. Se declara la variable como IntVar, para que recoja el valor entero de los botones.
3. Radiobutton es la forma de insertar los botones que se pueden ver en la primera
imagen.
Código:
1. Establecer variables con relación al medio de transporte que se mostrara en
pantalla.
2. Establecer una condición que recoja el dato que el usuario ingrese o seleccione y
lo almacene en una variable.
Configuración de los :
Cabe recalcar que son 3 imágenes diferentes que se descargó y se colocó dentro de la
carpeta donde está el archivo Python.
3. El label sirve como contenedor para mostrar la imagen
Sublime ofrece file, edit, selection, find, etc, una vez visualizado se hará algo básico para
entender la idea de este método que nos ofrece Python.
1. Crear una variable donde se almacenara le menu que estara dentro de la raiz.
2. Crear las ventanas del menu, según las que se necesiten. En este caso 4 variables.
3. Ahora indicar a python que muestre las ventanas.
4. Citar archivoMenu añadir una lista tipo cascada, junto con un label que tendra la
palabra de la ventana y citamos la variable que esta dentro del menu.
5. Realizar lo mismo con el resto de ventanas.
Ejecutar:
Se puede notar que la ventana Ayuda está en la segunda fila para ello, se debe
establecer el tamaño de la ventana,
Una vez ejecutado el programa se notara que todas las ventanas tienen un objeto
con guiones, a dicho carácter se le dice lágrima.
Messagebox .
Se tomara como ejemplo la ventana de ayuda donde está la licencia, y acerca del
programa.
Si el usuario abre dichas ventanas debe salir una ventana emergente que informe al
usuario de la licencia y sobre el programa.
Existen varias ventanas emergentes, por ejemplo, una que contenga un aceptar y un
cancelar, por lo general dichas interfaces están constituidas por valores de True and False,
o yes and no.
Por ejemplo:
Un cuestionario que al dar click en salir, pregunte si estamos seguros de la acción
realizada.
Ejecutar:
Como se puede observar, la ventana trae el primer parámetro que es el título, siguiendo
de un texto que interactúa con el usuario y una decisión de yes and no.
INTERFAZ GRAFICA
Abrir archivos externos:
Las siguientes instrucciones se usan para la acción destinada.
Biblioteca: filedialog
.askopenfilename: Abrir un archivo externo.
.asksaveasfilename: guardar archivo.
.askdirectory: Abrir directorio.
Abrir un nuevo archivo el cual se va trabajar el siguiente código y luego lo incorporarlo
con el anterior ejercicio realizado.
Incluir biblioteca.
Crear una interfaz gráfica básica
Crear una función que cumplirá la acción de abrir un fichero.
1. Una función, con una variable que guardara le fichero, title será el título de la
ventana que se va abrir.
2. Crear un botón que hará la función de abrir un archivo.
Insertar casillas de texto que cumplirán la función de recoger los datos del usuario.
Producto Final.
Una vez creada la interfaz, se realizaran las respectivas funciones de los submenús.
Primero la función del botón salir.
1. Crear una variable que hará la conexión a la base de datos, y le dará nombre en
este caso se llama (Usuarios).
2. Crear otra variable que le dará nombre a los campos, el tipo de dato, la cantidad
de carácter aceptable y demás.
3. Crear los campos que se requieren para la interfaz.
4. Encerrar la base de datos en un Try and Except, para que en caso de que el
usuario cree la base de datos de un mensaje de información, y en caso de que la
cree dos veces de error e impida la acción.
Una vez realizado lo anterior citamos la función dentro del submenú o el botón de la
ventana.
La función crear tendrá que conectarse a la base de datos e insertar en la tabla data
usuarios los siguientes campos.
Nota: Es importante saber que para el campo auto numérico es decir Id debe ser
null.
Para concatenar campos se separan de un (+), seguido de (‘”,”’) y (+)
Comentarios dentro de get, le decimos que tome los caracteres desde el principio
hasta el fin.
La instrucción commit es para que ejecute la acción, y seguido un mensaje que
informe si se insertaron los datos o no.
Crear un ciclo for para que dentro del vector almacene y luego muestre lo que hay
en cada uno de los campos.
NOTA: Para actualizar un dato es necesario que primero deben buscarlo y luego
si actualizarlo.
CONSULTAS PARAMETRIZADAS
Dentro de SQL se puede encontrar este término que hace referencia a la
seguridad de los datos de una tabla, ya que muchas interfaces se hacen en la
web, es necesario introducir este parámetro para proteger dicha información.
Además de ello simplifica líneas de código.
Buscar
Actualizar
EJECUTABLE
Algo que no se ha explicado, es sobre como ejecutar dichas interfaces en
computadores que no tengan la necesidad de descargar e instalar, ya que es poco
eficiente e innecesario, para ello Python trae una librería de instalación muy
amplia para dicha acción y muchas más.