Curso de Python XIV

python_header

Nota: Éste artículo ha sido escrito íntegramente por mi amigo y compañero Daniel Heredia con el único fin de echarme una mano aportando su granito de arena. Allá vamos!

 

Tkinter es una biblioteca gráfica para Python. Se considera un estándar para la interfaz gráfica de usuario (GUI) y viene por defecto con la instalación para Microsoft Windows.

Hoy en día hay otras alternativas disponibles como wxPython, PyQt, PySide o PyGTK, pero Tkinter es la mejor opción para empezar por su facilidad y versatibilidad.

Lo primero que tenemos que hacer es importarlo:

python1

Después, vamos a crear nuestra primera ventana, donde iremos metiendo botones, etiquetas… Es importante saber que, al crear la ventana tenemos que llamar al final al método mainloop(), que se encargará de tener activa nuestra aplicación (entrará en un bucle o loop):

python2

¡Ya tenemos nuestra primera ventana!

python3

Pero es un poco sosa…vamos a ponerle cosas. Empezamos con un título en la ventana:

python4

python5

Vamos ahora a darle tamaño y posición (importante el orden, primero el tamaño y después la posición).

python6 python7

He puesto un tamaño pequeño para ver la diferencia (no cabe ni el título). La posición, obviamente, no la podemos apreciar aquí.

Vamos a crear nuestro primer botón (pongo la ventana con un tamaño mayor para ver el contenido de la ventana con mayor claridad). Al crear el botón, tenemos que indicar como primer parámetro en qué ventana ha de ir y luego pondremos el texto que queremos que salga dentro del botón. Es muy importante llamar al método pack al final para que nuestro botón o etiqueta estén visibles (lo que hace es colocarlos de manera visible, también se pueden dar coordenadas y no tendríamos que llamar a esta función):

python8

Con una etiqueta, sería todo exactamente igual:

python9

Para poner un color de fondo, se utiliza .bg (background). Y para llamar a una función, el comando command. No os preocupéis si veis que pycharm no os lo reconoce, porque al final acaba aceptándolo (no te precide lo que estás poniendo). Por supuesto, si llamamos a una función, ésta debe estar creada previamente. Así que vamos a crear varias cosas: una ventana nueva, que será la ventana que se abra al apretar el botón, una función que se encargue de llamar a la nueva ventana y el botón y la etiqueta que teníamos los vamos a tunear un poco cambiando el color de fondo y el tipo y tamaño de letra:

python10

Con esto, de momento, podemos ir jugando un poco más gráficamente. Es importante buscar en internet sobre Tkinter porque hay infinidad de cosas en esta librería que quizá yo no considero importante pero puede ser muy valioso en un momento dado.

Un salu2!

Curso de Python I
Curso de Python II
Curso de Python III
Curso de Python IV
Curso de Python V
Curso de Python VI
Curso de Python VII
Curso de Python VIII
Curso de Python IX
Curso de Python X
Curso de Python XI
Curso de Python XII
Curso de Python XIII
Curso de Python XIV

 

Curso de Python XIII

python_header

Ésta será la última lección antes de pasar a crear interfaces gráficas, así que veremos por encima lo esencial del manejo de strings y el manejo de excepciones.

Manejo de Strings con Python 3

El manejo de Strings es tan básico como importante en un desarrollo. Gracias a diferentes funciones podremos transformarlas según las necesidades que vayan surgiendo. Veamos diferentes ejemplos y su ejecución

python1 python2

Read more

Curso de Python XII

python_header

En la anterior entrada empezamos a ver el manejo de bases de datos con Python. Vimos como consultar e insertar datos con SQLite y en esta lección haremos lo mismo pero con el módulo PyMySQL. Recordemos que SQLite solo permite acceso local y solo puede hacerlo un usuario, mientras que MySQL (o MariaDB en la actualidad) permite acceso remoto y es multiusuario.

El módulo sqlite3 venía integrado en el interprete python pero pymysql no, así que aprovecharemos para terminar la lección 9 y aprenderemos a instalar los módulos que vayamos necesitando.

Instalación del módulo PyMySQL

Con la instalación de Python viene una herramienta de instalación de paquetes (módulos) llamada pip. Ésta permite que abriendo una terminal (o cmd en windows) y poniendo la sintaxis pip install <paquete> se lo descargue e instale automáticamente como veremos en las siguientes dos capturas

Read more

Curso de Python XI

python_header

Bases de datos en Python 3

Hemos visto que podemos almacenar datos en un .txt para consultar posterior a la ejecución de nuestro programa pero aparte que se realiza de una manera desordenada, esto se vuelve insostenible cuando hablamos de miles de registros a guardar. Para ello usaremos las Bases de Datos.

No forma parte de este curso aprender SQL (Structured Query Language) , que viene a ser el “lenguaje” usado para utilizar las bases de datos. Si nunca has visto SQL, recomiendo hacer una búsqueda en Youtube y seguir algún pequeño tutorial para poder utilizar las bases de datos.

En el manejo de Bases de Datos con Python 3 usaremos MySQL y SQLite. Algunas diferencias básicas son que MySQL es multiusuario (varios usuarios pueden hacer consultas), necesita servidor y está diseñado para gestionar mayor cantidad de información. En cambio SQLite es monousuario y no necesita servidor ya que es simplemente un archivo. Ambas son gratuitas y según nuestro proyecto escogeremos uno u otro. Un ejemplo para usar MySQL sería una web y un ejemplo para SQLite sería una aplicación móvil.

Read more

Curso de Python X

python_header

Listas con Python

Hasta ahora usábamos las variables para almacenar datos pero esto tiene ciertas limitaciones y a medida que la cantidad de datos es mayor, se va convirtiendo en misión imposible completar nuestro programa. Por ejemplo, si quisiéramos almacenar los días de la semana usando variables tendríamos que hacer lo siguiente:

python1

A simple vista ya vemos que se vuelve insostenible si manejaramos cientos o miles de datos. Veamos un ejemplo usando una lista. Ésta se caracteriza por los corchetes []. Los valores se introducen tal cual vemos en el ejemplo:

Read more

Curso de Python IX

python_header

Módulos Python

Una de las características de Python que lo hace un gran lenguaje son sus módulos. El interprete contiene miles de ellos y otros tantos son hechos por programadores externos. En ésta entrada veremos los incluidos para aprender a importarlos y usarlos y en próximos capítulos veremos como instalar el resto a medida que los vayamos necesitando.

Un módulo básicamente es un contenedor de funciones. Aunque estas funciones podríamos hacerlas nosotros mismos, estos nos facilita mucho trabajo y evitamos reinventar la rueda.

Los módulos se importan al principio del archivo python y según nuestras necesidades tenemos varias opciones. Una buena práctica de programación es importar solo las funciones que vamos a necesitar para optimizar la ejecución de nuestro programa. Veamos los tipos de import usando de ejemplo el módulo OS:

python1

Read more

Curso de Python VIII

python_header

En la anterior entrada vimos la lectura y escritura de archivos txt usando una función. Adelantábamos que una función contiene un bloque de código pero en esta lección veremos que nos puede aportar algo más.

Funciones en Python

Las funciones forman una parte básica de la sintaxis en todos los lenguajes de programación. Hasta ahora hemos ido poniendo las instrucciones línea a línea para que se ejecuten sistemáticamente, pero al querer hacer la misma instrucción dos veces teníamos que volver a escribir lo mismo, ensuciando el código y volviendo un poco más ilegible nuestro preciado código fuente.

Read more

Curso de Python VII

python_header

En la anterior entrada creamos nuestra calculadora de IMC personalizada. La cual nos decía si teníamos peso saludable, sobrepeso, etc, y dejamos pendiente crear un log para realizar un análisis posteriormente. Empezaremos un ejemplo nuevo y cuando tengamos el concepto aprendido lo implantaremos en nuestra calculadora de manera muy sencilla.

En la segunda parte de este artículo aprenderemos el uso de funciones para hacer mas legible el código y poder reutilizarlo cuando queramos sin tener que repetir líneas.

Read more

Curso de Python VI

python_header

Es hora de empezar a utilizar los conceptos que hemos adquirido en pequeños programas. Iremos implementando lo aprendido y aumentaremos el nivel de dificultad gradualmente para ir adquiriendo fluidez en el desarrollo.

Cálculo de IMC con Python

Vamos a crear una calculadora de índice de masa corporal personalizado en unas pocas líneas. Ésta recogerá diferentes datos, hará el cálculo y lo mostrará. Finalmente preguntaremos si quiere volver a repetirlo hasta que el usuario decida cerrar la calculadora.

Read more

Curso de Python V

python_header

 

Iteraciones

 

Las iteraciones (bucle a partir de ahora) son una parte fundamental en la programación, al igual que los condicionales. Éstos nos hacen repetir el código de forma controlada hasta que una condición se cumpla.

Para ello tenemos los bucles for y while. Es importante saber en que se diferencian para saber cuando utilizar uno u otro según el problema que se nos plantea.

Read more