Añadir una función a un botón en pyqt 5

En la entrada anterior vimos como separar el código funcional de la interfaz gráfica. Creamos nuestra primera aplicación la cual llamamos MiPrograma y constaba de una ventana pequeña con un botón y un label. En esta entrada aprenderemos a interactuar con ellos para crear nuestra primer aplicación funcional con entorno gráfico. Para eso vamos a añadir una función a un botón. Ya se, ya se que sera una tontería..

Primera aplicación en Pyqt5

Lo importante aquí es aprender como funcionaran nuestros programas en la interfaz gráfica. La interacción con botones, menús, barras, etc.  Comenzaremos por algo muy básico para no extraviarnos en el código, luego puedes experimentar por ti mismo un poco. También cabe recalcar que es importante conocer los atributos de cada objeto para trabajarlo con soltura. Pero eso lo veremos mas adelante..

 

Importante
Es importante que para entender el siguiente código, hallas leído las entradas anteriores ya que llevan una relación:

Nuestra primera aplicación sencilla en pyqt 5

El objetivo de nuestra aplicación es que al presionar el botón el label cambie, mostrando un texto diferente.

En este caso cambie un poco el label y el botón en designer de Miprograma.py, y lo volví a convertir a «_ui.py». Tal como era antes el mismo código, solo cambio el texto de ambos objetos.

Así que tenemos nuestro archivo Miprograma.py así:

 

 

Siento dar tanta lata, espero poder grabar vídeos pronto y entonces va a facilitar un poco las cosas!

En fin, edite en Designer nuestro programa así quedando un Label y un Button:

Añadir una función a un botón

 

Estilos!
Recuerda que para cambiarle el texto al label debes darle clic derecho>> Convertir en texto enriquecido y luego dando doble clic en el texto del label puedes jugar con los estilos.

 

Función; cambiar el texto del Label

Ahora le agregaremos la funcionalidad, pues en este momento al presionar el botón no sucede nada. Para eso primero vamos a crear una función que luego le asignaremos al evento «Click» del botón.

A estas alturas es obvio que sabes crear una función, así que nos vamos a concentrar en explicar el código dentro de ella. Este código es un método del objeto «label» que como su nombre lo indica es el encargado de «setear el texto dentro de el». El mismo se utiliza para cambiar o establecer el texto del label. Estos métodos y atributos de los objetos luego vamos a tratar de expresarlos y explicarlos a todos, en una tablita con ejemplos.

Seguimos, esta función va a cambiar el texto del Label «label». Si te fijas en el código de miventana_ui.py puedes ver que allí se encuentra el objeto «label«. En el caso que añadiéramos varios labeles, automáticamente se llamaría «label2» por ejemplo. Estos nombres de los objetos los puedes editar en Designer.

 

Conectar el botón a la función en pyqt5:

Ahora vamos a conectar el botón para que al hacer click en el se ejecute esta función que creamos. Para eso recurrimos al siguiente método brindando como argumento nuestra función:

Siempre que quieras añadir una función a un botón mediante el evento click procura que la función a la cual conectas este declarada antes. Recuerda que no puedes llamar a una función que aun no existe, o no fue creada antes del código que esta llamándola.

En definitiva nuestro código final quedaría así:

Resultado luego de clickear el botón:

Luego de apretar el botón pyqt5

Nuestro programa funciona correctamente pero no se conserva el estilo de texto del label. Para solucionar esto podemos incluir los estilos directamente dentro del argumento de la función. Si te fijas en la linea 46 de miventana_ui.py es el siguiente:

Quedando nuestra función así:

Ahora si nuestra primer aplicación final con interfaz gráfica!

Añadir una función a un botón en pyqt 5

 

 

Todo esto parece una tontería, es que en realidad lo es!! :B . Nos vemos en la siguiente entrada muy pronto!

 

 

 

Ayúdame a llegar a mas personas!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •