Está en la página 1de 23

Estructura de

datos y POO
en Python
José Luis Ttito Quispe
Docente - Instructor

SESION 06
OBJETIVO

• Conocer, aprender y Diseñar


formularios mediante el uso
de propiedades y métodos de
clases contenidas en la librería
PyQt5 a través del lenguaje de
programación Python.
LOGRO

• Seguiremos diseñando nuevas


interfaces aplicando diseñando
y ejecutando interfaces gráficas
de usuario aceptables
• Revisaremos los principales
componentes o widgets de
comando mas utilizados
durante la etapa desarrollo.
AGENDA
• Explorando QtDesigner cont...
• Nuestro segundo proyecto
• Revisión del tema de listas,
diccionarios y tuplas.
• Uso de componentes:
• ComboBox
• TableWidget
• Calendar
DESAFÍO N° 01

• Caso CRUD de Clientes


• Puedes ingresar lo siguiente:
• Cargar información desde una BD
• Insertar nuevos clientes
• Eliminar clientes
• Modificar la información
QUE ES PyQt5
• Es un binding o traductor de la
biblioteca gráfica QT para el LP Python.
• Permite crear GUI’s de manera rápida y
sencilla, con la legibilidad del código
de Python
• Además que también posee una
interfaz de diseño para crear nuestras
interfaces gráficas.
• Ya que si has utilizado Tkinter sabrás
de lo forzoso que es tener que ir El conjunto de implementaciones que permiten
codificar este lenguaje, con el objeto de crear una
diseñando y programando a la vez. interfaz independiente. Es llamado “LIBRERÍA”
QUE ES QtDesigner
• Qt Designer es una herramienta para
crear rápidamente interfaces gráficas de
usuario con widgets del marco Qt GUI .
• Le brinda una interfaz simple de
arrastrar y soltar para diseñar
componentes como botones, campos
de texto, cuadros combinados y más.
• Qt Designer produce (*.ui). Este es un
formato especial basado en XML que
almacena sus widgets como un árbol. Los Widgets son objetos que nos permiten
representar o visualizar los datos de forma
interactiva
WIDGET
• Es un elemento de la GUI que ilustra
información de una forma para que el
usuario interactúe con el SO.
• Cada widget por separado es un
objeto de Python. Al crear un widget,
debe pasar su padre como parámetro
a la función de creación del widget.
• La única excepción es la ventana
"raíz", que es la ventana de nivel
superior que contendrá todo lo demás
y no tiene un padre.
WIDGETS en Qt Designer
• Existen muchos, pero los mas representativos son:
• Layouts : Posicionamiento dentro del lienzo.
• Buttons : representar elementos que funcionan con un click.
• Ítems views : Representar datos o elementos de lista.
• Containers : Representar la organización de los widgets.
• Inputs : Elementos que podemos ingresar datos.
• Displays : Elementos gráficos mas elaborados.
WIDGETS BUTTONS
• Se utiliza para agregar botones
a su aplicación.
• Entre los mas utilizados
tenemos los siguientes:
• Push Button
• Tool Button
• Radio Button
• Check Box
• Command Link Button
• Dialog Button Box
WIDGETS INPUTS
• Permite al usuario editar texto
de una o varias líneas y
formatear la forma en que
debe mostrarse
• Combo Box
• Line Edit
• Text Edit
• Spin Box
• Date Edit
• Time Edit y muchos mas
WIDGETS QCOMBOBOX
• Presenta una lista desplegable de
elementos para seleccionar.
• Se necesita un espacio de pantalla
mínimo en el formulario requerido
para mostrar solo el elemento
seleccionado actualmente.
• Se puede configurar un cuadro
combinado para que sea editable;
también puede almacenar objetos
de mapa de píxeles.
• Los siguientes métodos se usan
comúnmente:
METODOS QCOMBOBOX
• addItem() Agrega cadena a la colección
• addItems() Agrega elementos en un objeto de lista
• Clear() Elimina todos los elementos de la colección.
• count() Recupera el número de elementos de la colección.
• currentText() Recupera el texto del elemento actualmente seleccionado
• itemText() Muestra texto perteneciente a un índice específico
• currentIndex() Devuelve el índice del elemento seleccionado
• setItemText() Cambia el texto del índice especificado
WIDGETS QDATE EDIT
• Presenta una lista desplegable de
elementos para seleccionar.
• Permite al usuario editar fechas
usando el teclado o las teclas de
flecha para aumentar y disminuir los
valores de fecha y hora.
• Las teclas de flecha se pueden usar
para moverse de una sección a otra.
Las fechas y horas aparecen de
acuerdo con el formato establecido.
• Los siguientes métodos se usan
comúnmente:
METODOS QDATE EDIT
• setDisplayFormat() Configura el formato ejem dd/mm/yyyy
• setCalendarWidget() Devuelve el widget de calendario para el editor si
calendarPopup se establece en verdadero y
(sections() & DateSections_Mask ) != 0.
Esta función crea y devuelve un widget de
calendario si no se ha configurado ninguno.
• Setdate() registra el dato de fecha en el widget (setText)
WIDGETS ITEM-BASED
• Se utiliza para agregar botones
a su aplicación.
• Entre los mas utilizados
tenemos los siguientes:
• List Widget
• Tree Widget
• Table Widget
WIDGETS TABLEWIDGET
• Una tabla se utiliza para mostrar
datos en un formato estructurado,
según filas y columnas.
• El contenido de la tabla se puede
generar a partir de diferentes tipos
de almacenamiento, como listas o
tablas bidimensionales, tablas de
base de datos, archivos JSON, etc.
• Se pueden crear una o más tablas
usando QTableWidget en la
aplicación PyQt.
METODOS TABLEWIDGET
• setRowCount() Se utiliza para definir el número de filas.
• setColumnCount() Se utiliza para definir el número de columnas.
• setHorizontalHeaderLabels() Se utiliza para establecer las etiquetas de
encabezado de la tabla.
• setItem() Se utiliza para establecer el valor de celda de la tabla.
• resizeColumnsToContents() Se utiliza para cambiar el tamaño de las
columnas de la tabla según el contenido.
• resizeRowsToContents() Se utiliza para cambiar el tamaño de las filas de la tabla
según el contenido.
• setMinimumWidth() Se utiliza para establecer el ancho mínimo de la mesa.
• setMinimumHeight() Se utiliza para establecer la altura mínima de la mesa.
• show() Se utiliza para mostrar la tabla.
DEBEMOS CONSIDERAR QUE…
• Para implementar uno o mas widgets debemos tomar en cuenta
lo siguiente:
• Cada widget maneja propiedades u métodos que permiten
controlar su comportamiento (Diseño / Ejecución)
• El tipo de dato también es importante debido a que cada uno
de ellos manejan diferentes o solo un tipo de dato.
• Investigar la documentación de cada widget para sacarle el
máximo partido al momento del desarrollo.
• Para que el desarrollo no sea tan complicado podemos hacer
uso de herramientas vistas anteriormente tales como …
WIDGETS: CASO 01
• Deseamos que el programa me
pueda realizar tipo de cambio
según nuestra necesidad:
• Debe solicitar el monto
• Solicitar la fecha de la operación
• Seleccionar la moneda
• Proceder al calculo
• Informarnos por medio de
mensajes.
WIDGETS: CASO 02

• Caso CRUD de Clientes


• Puedes ingresar lo siguiente:
• Cargar información BD.
• Insertar nuevos clientes.
• Eliminar clientes.
• Modificar la información.
CONCLUSIONES
• Cuando vamos a desarrollar una solución, siempre vamos a
tener que utilizar una interfaz de usuario ó GUI. Para que sea
mas amigable al trabajo del usuario.
• PyQt5 y QtDesigner, son herramientas, que nos permiten
dibujar los componentes vistos en esta sesión de una forma
mucho mas rápida.
• Contamos con una cantidad de widgets para soportar cualquier
necesidad. El programador deberá aplicar según sea necesario.
• Esta sesión se ha proporcionado un paso adelante en el diseño
de ventanas y componentes. Esto debería servirte para
desarrollar algo básico ni bien a medida que abordas temas más
complejos mas adelante..
PROXIMA CLASE
VEREMOS…

Programación
orientada
a objetos
P.O.O.

También podría gustarte