Curso PyQt6 - Creando la primera ventana. Video 01

Pildoras de programación
19 Nov 202213:43

Summary

TLDREste vídeo es una introducción a PyQt6, un framework de desarrollo que permite crear interfaces de usuario complejas en Python. Se explica cómo configurar un entorno de desarrollo virtual, instalar PyQt6 y crear una ventana básica. Se detallan los pasos para generar y activar el entorno, instalar el framework y escribir código para mostrar una ventana simple. El vídeo termina con una invitación a seguir el canal para aprender más sobre desarrollo de interfaces con PyQt6.

Takeaways

  • 😀 El vídeo presenta la introducción a PyQt6, un framework de desarrollo para crear interfaces de usuario complejas en Python.
  • 🛠️ PyQt6 permite la creación de interfaces de usuario profesionales con elementos como botones, barras de navegación y casillas de verificación.
  • 🐍 Se destaca que Python es comúnmente asociado con aplicaciones de consola, pero con PyQt6 también se pueden crear interfaces gráficas.
  • 💻 Se recomienda utilizar Python 3.7 o superior para ejecutar PyQt6, por lo que es importante mantener la versión de Python actualizada.
  • 🌐 Se sugiere trabajar con entornos virtuales para el desarrollo de aplicaciones con PyQt6, evitando conflictos de dependencias entre proyectos.
  • 🔧 Se explica el proceso de creación de un entorno virtual en Visual Studio Code y la activación de dicho entorno para el desarrollo.
  • 📦 Se detalla la instalación de PyQt6 mediante el comando `pip install PyQt6` y se verifica la instalación exitosa.
  • 🏗️ Se crea la primera ventana 'vacía' en PyQt6, que servirá como base para futuras interfaces de usuario.
  • 🔑 Se utiliza la programación orientada a objetos para definir una clase que hereda de QWidget, estableciendo su geometría y título.
  • 🔑 Se menciona la importancia de los métodos `show()` y `exec_()` para visualizar y ejecutar la aplicación respectivamente.
  • 📝 Se enfatiza la facilidad de crear una ventana básica con PyQt6, que será la plantilla para agregar más componentes en futuras lecciones.

Q & A

  • ¿Qué es PyQT6 y qué permite hacer?

    -PyQT6 es un framework de desarrollo que permite generar interfaces de usuario complejas y profesionales, permitiendo utilizar elementos como botones, barras de navegación, checkbox, entre otros.

  • ¿Por qué es importante usar PyQT6 con Python 3.7 o superior?

    -PyQT6 corre en Python 3.7, por lo que es ideal tener una versión de Python actualizada para garantizar la compatibilidad y funcionamiento correcto de la herramienta.

  • ¿Qué es un ambiente de desarrollo virtual y por qué es recomendable usarlo?

    -Un ambiente de desarrollo virtual es un entorno aislado creado para el proyecto, que permite instalar dependencias sin conflictos con otros proyectos. Se recomienda usarlo para mantener el código organizado y evitar problemas de dependencias.

  • ¿Cómo se crea un ambiente de desarrollo virtual en el script?

    -Se crea un ambiente de desarrollo virtual utilizando el comando 'python -m venv nombre_ambiente', donde 'nombre_ambiente' es el nombre que se le da al ambiente virtual.

  • ¿Cómo se activa un ambiente de desarrollo virtual en Visual Studio Code?

    -Para activar un ambiente de desarrollo virtual en Visual Studio Code, se utiliza la combinación de teclas Ctrl+Shift+P para abrir la paleta de comandos y luego se selecciona 'Seleccionar intérprete de Python', eligiendo el ambiente virtual creado.

  • ¿Qué comando se usa para instalar PyQT6 una vez creado el ambiente virtual?

    -Para instalar PyQT6 en el ambiente virtual, se utiliza el comando 'pip install PyQt6' en la terminal.

  • ¿Qué clases se importan para crear una ventana básica en PyQT6?

    -Para crear una ventana básica en PyQT6, se importan las clases 'QApplication' y 'QWidget' desde el módulo 'PyQt6.QtWidgets'.

  • ¿Cómo se define la clase 'VentanaVacia' en el script y qué hereda?

    -La clase 'VentanaVacia' se define heredando de 'QWidget', utilizando un enfoque de programación orientada a objetos y se inicializa en el constructor utilizando el método 'super()'.

  • ¿Qué métodos se utilizan para establecer la geometría y el título de la ventana en PyQT6?

    -Para establecer la geometría de la ventana se utiliza el método 'setGeometry', y para definir el título se usa el método 'setWindowTitle'.

  • ¿Cómo se ejecuta la aplicación en PyQT6 y cómo se cierra correctamente?

    -Para ejecutar la aplicación se crea una instancia de 'QApplication' y luego se instancia la clase de la ventana. Finalmente, se ejecuta el método 'app.exec_()' para iniciar la aplicación y se cierra con 'sys.exit()' para liberar los recursos.

  • ¿Qué errores se deben tener en cuenta al crear una ventana en PyQT6 según el script?

    -Es importante no pasar argumentos innecesarios al constructor de la clase 'QWidget', ya que esto puede generar errores. Además, se debe asegurar de que la instancia de 'QApplication' se ejecute antes de la instancia de la ventana.

Outlines

00:00

😀 Introducción a PyQT6

Este primer vídeo presenta PyQT6, un framework de desarrollo que permite crear interfaces de usuario complejas y profesionales. Se destaca que Python generalmente se asocia con la consola, pero con PyQT6 se pueden generar interfaces gráficas. Se recomienda tener Python 3.7 o superior y se procede a crear un ambiente virtual para el proyecto. Se explica el proceso de creación del ambiente virtual y la instalación de PyQT6 a través de la terminal en Visual Studio Code. Finalmente, se menciona que se iniciará la creación de una ventana básica en el siguiente vídeo.

05:03

👨‍💻 Creación de una ventana básica con PyQT6

En este segmento, se detalla cómo crear una ventana básica utilizando PyQT6 con un enfoque de programación orientada a objetos. Se importa el módulo 'qt widgets' y se crea una clase 'VentanaVacia' que hereda de 'QWidget'. Se define un constructor y se establecen las dimensiones y el título de la ventana utilizando métodos como 'setGeometry' y 'setWindowTitle'. Además, se explica cómo mostrar la ventana con el método 'show'. Se menciona la creación de una instancia de la aplicación utilizando 'QApplication' y cómo ejecutar la aplicación con 'app.exec()'. Se resalta la importancia de liberar recursos al cerrar la aplicación.

10:05

🛠️ Errores y correcciones en la creación de la ventana

Este párrafo aborda un error encontrado durante la creación de la ventana y cómo solucionarlo. Se menciona que el constructor no debe recibir un argumento y se procede a corregir el error. Posteriormente, se guarda el código, se ejecuta nuevamente y se visualiza la ventana creada. Se enfatiza que esta ventana será la plantilla base para futuras adiciones de elementos como botones y casillas de verificación. El vídeo concluye con una invitación a seguir el canal y a continuar aprendiendo con futuras publicaciones.

Mindmap

Keywords

💡PyQt6

PyQt6 es un framework de desarrollo utilizado para crear interfaces de usuario (GUI) en aplicaciones de escritorio. En el guion, PyQt6 se menciona como una herramienta que permite generar interfaces de usuario complejas y profesionales. Se destaca que, aunque Python es conocido principalmente por sus aplicaciones en consola, PyQt6 permite a los desarrolladores crear interfaces gráficas que son visuales y interactivas, como se ve en el ejemplo de la 'ventana vacía' que se crea en el video.

💡Interfaz de Usuario (GUI)

La interfaz de usuario (GUI) es el medio a través del cual los usuarios interactúan con una computadora, un dispositivo o una aplicación. En el contexto del video, PyQt6 se utiliza para desarrollar GUIs, permitiendo a los programadores incluir elementos como botones, barras de navegación y casillas de verificación en sus aplicaciones. La creación de una 'ventana vacía' es el primer paso para construir una GUI más compleja.

💡Virtual Environment

Un entorno virtual es un espacio aislado creado para el desarrollo de software, que permite a los desarrolladores instalar y manejar dependencias específicas de un proyecto sin afectar a otros proyectos. En el guion, se recomienda crear un entorno virtual antes de comenzar a trabajar con PyQt6, para evitar conflictos de dependencias y mantener el proyecto organizado.

💡Python 3.7

Python 3.7 es una versión específica del lenguaje de programación Python. PyQt6 requiere Python 3.7 o superior, lo que significa que los desarrolladores deben asegurarse de tener esta versión o una posterior para poder utilizar PyQt6. En el guion, se menciona la importancia de tener la versión de Python actualizada antes de comenzar con PyQt6.

💡Qt Widgets

Los widgets de Qt son los componentes básicos de una interfaz de usuario en PyQt6. Son elementos como botones, casillas de verificación y barras de herramientas que se pueden arrastrar y colocar en una ventana. En el video, se importa el módulo 'qt widgets' para acceder a estos componentes y se menciona la herencia de la clase 'QMainWindow' de 'QWidget', que es un widget.

💡Constructor

El constructor es un método especial en la programación orientada a objetos que se ejecuta cuando se crea una nueva instancia de una clase. En el guion, se utiliza el constructor para inicializar la clase 'VentanaVacia', estableciendo su geometría, título y haciendo que sea visible en la pantalla.

💡Método Show

El método 'show' es utilizado en PyQt6 para hacer visible una ventana o widget en la pantalla. En el guion, después de configurar la geometría y el título de la 'ventana vacía', se llama al método 'show' para que se muestre en la interfaz de usuario.

💡QApplication

QApplication es una clase en PyQt6 que gestiona la aplicación principal y maneja los eventos del sistema operativo. Es esencial para cualquier aplicación PyQt6 y se instancia antes de mostrar cualquier ventana o widget. En el guion, se crea una instancia de QApplication antes de crear la 'ventana vacía'.

💡Programación Orientada a Objetos (POO)

La programación orientada a objetos es un paradigma de programación basado en la creación de 'objetos' que encapsulan datos y funciones. PyQt6 utiliza POO para construir interfaces de usuario, donde cada widget es un objeto con propiedades y métodos. En el guion, se crea una clase 'VentanaVacia' que hereda de 'QWidget', utilizando POO para definir su comportamiento.

💡Instancia

Una instancia es una copia específica de una clase en la programación orientada a objetos. En el guion, después de definir la clase 'VentanaVacia', se crea una instancia de esta clase para representar la ventana que se va a mostrar en la pantalla.

Highlights

Introducción al framework de desarrollo PyQT6

PyQT6 permite crear interfaces de usuario complejas y profesionales

Python tradicionalmente se asocia con aplicaciones de consola

PyQT6 permite visualizar interfaces de usuario en Python

Requisito de Python 3.7 para PyQT6

Importancia de trabajar con entornos virtuales de desarrollo

Procedimiento para crear un entorno virtual en Visual Studio Code

Activación del entorno virtual en Visual Studio Code

Instalación de PyQT6 utilizando pip

Inicio de la creación de la primera ventana en PyQT6

Importación de los módulos necesarios para la ventana

Creación de una clase heredada de QWidget

Definición del constructor y métodos de la clase ventana

Establecimiento de la geometría y título de la ventana

Visualización de la ventana con el método show

Creación y ejecución de la aplicación utilizando QApplication

Finalización de la aplicación con la ejecución de sys.exit

Error en el constructor y su resolución

Visualización de la ventana resultante

Resumen de los componentes y clases fundamentales en PyQT6

Función de QApplication en la gestión de eventos

Transcripts

play00:00

Este vídeo es el primero de muchos en el

play00:02

cual hablaremos de Qué es Pay qt6

play00:05

pycle 6 es un framework de desarrollo el

play00:09

cual nos permite generar interfaces de

play00:12

usuario bastante complejas y

play00:15

profesionales nos permite utilizar

play00:16

botones Barros de navegación checkbox lo

play00:21

que sea

play00:23

estamos acostumbrados a que python es un

play00:25

lenguaje más que todo de consola que

play00:27

nunca vamos a hacer como una interacción

play00:29

de pronto nuestros escrito están

play00:31

corriendo ahí por debajo pero nunca Los

play00:33

vemos compay

play00:35

qt6 podemos generar sus

play00:37

respectivas interfaz de usuario debemos

play00:41

tener en cuenta que paicote 6 corre en

play00:44

python 3.7 por eso es ideal tener

play00:47

nuestra versión de python actualizada y

play00:50

listo sin mayor demora empecemos vamos a

play00:53

empezar Pues por preparar nuestro

play00:55

ambiente lo ideal siempre generar un

play00:58

ambiente desarrollo virtual un vi

play01:00

spider-man para que pues para que

play01:02

nuestro código con las dependencias que

play01:04

tengamos no no produzcan algún tipo de

play01:08

conflicto con otras de otros proyectos

play01:10

Pues por eso lo ideal es siempre

play01:12

trabajar con virtual environments le

play01:15

damos clic en terminal New terminal

play01:19

y listo

play01:21

empezamos vamos a proceder con la

play01:24

instalación de paycut de 6 vamos

play01:29

bueno primero vamos a generar nuestra

play01:32

mente de desarrollo entonces damos

play01:33

python menos m y en b y en vi como

play01:38

nombre de mi módulo vale

play01:41

damos enter

play01:46

aquí me va a proceder a generar el

play01:48

ambiente desarrollo esperamos un

play01:50

momentico que termine el comando listo

play01:52

perfecto ya finalizó

play01:55

lo que vamos a hacer ahora es activar

play01:58

nuestro ambiente de desarrollo

play02:02

para eso vamos a utilizarlas para

play02:05

presionar las teclas control shift p

play02:08

perfecto se nos va a Abre esta barra en

play02:12

nuestro visual Studio code Vamos a darle

play02:15

acá clic en seleccionar python

play02:17

interpretar

play02:19

empieza a descubrir verificando pues las

play02:22

los intérpretes que se encuentran y

play02:25

vamos a seleccionar

play02:30

este el recomendado

play02:36

que es la ruta donde nos encontramos

play02:38

vale

play02:41

si cerramos nuestra consola nuestra

play02:43

terminal y la volvemos a abrir nos va a

play02:46

abrir pues ya con el ambiente el Virtual

play02:49

environment he cargado damos clic en New

play02:52

terminal y Listo ya nos cargo nuestro

play02:55

ambiente de desarrollo como podemos

play02:57

saber si estamos en el Virtual

play02:59

environment nos debe aparecer este tipo

play03:01

de bueno este nombre que corresponde al

play03:05

nombre de nuestro ambiente virtual de

play03:07

primera sin este color verde

play03:10

listo ahora procedemos a hacer la

play03:12

instalación

play03:14

de el país qtt con esto vamos a utilizar

play03:17

Pipe 3

play03:19

install by u V6 Qué pena ejecute 3

play03:25

damos enter

play03:29

y esperamos

play03:32

inicia el proceso instalando los

play03:35

paquetes

play03:40

y Listo ya finalizó podemos ver que acá

play03:44

dice instalación correctamente realizada

play03:46

y Listo Ya estamos listos para para

play03:49

empezar

play03:51

vamos a este vídeo pues vamos a generar

play03:54

nuestro primer ventana Por así decirlo

play03:57

en vacío que es como los aspectos uno

play04:00

los componentes base para generar

play04:03

cualquier tipo de interfaz de usuario

play04:05

entonces Siempre vamos a tener que hacer

play04:07

este procedimiento listo iniciamos damos

play04:10

clic derecho

play04:12

damos crear nuevo archivo y vamos a

play04:15

darle no sé el nombre que queramos

play04:17

ventana

play04:20

vacía y este es el vídeo número 1 punto

play04:24

pg

play04:25

listo vamos a empezar con las

play04:28

importaciones vamos a importar

play04:31

vamos a importar el pay qtt

play04:39

entonces importamos

play04:48

ute6 de este modo vamos a importar el

play04:53

módulo entonces

play04:59

Entonces desde este módulo

play05:03

desde el módulo

play05:06

qt widgets

play05:10

Entonces qué queremos importar importe

play05:13

me

play05:14

Entonces el qa application

play05:18

ya Les explico más adelante De qué

play05:21

tratan estos estas clases y el Q widgets

play05:28

perfecto

play05:30

listo entonces utilizando un enfoque de

play05:33

programación orientado a objetos vamos a

play05:34

crear una clase Vamos a darle no sé

play05:38

ventana

play05:41

vacía

play05:43

la cual va a heredar de q widget

play05:47

que es esta clase que tenemos aquí

play05:50

estamos acá dos puntos definimos su

play05:53

inicializador o constructor DF

play05:57

donde

play06:03

damos inicializar el constructor o el

play06:07

inicializador de esta clase para eso

play06:09

utilizamos el super

play06:12

entonces súper para Acceder al método

play06:16

inicializador de la clase padre que es

play06:18

el widget Vale entonces súper

play06:22

punto

play06:25

para inicializarlo perfecto

play06:30

y acá bajito vamos a

play06:35

ejecutar un método que aún no lo hemos

play06:37

definido pero lo vamos a

play06:39

escribir acá entonces

play06:42

inicial

play06:44

Uy perfecto ahora vamos a definir este

play06:48

método que estamos ejecutando en el

play06:51

constructor o en el inicializador de

play06:53

esta clase

play07:03

recordemos que los métodos tienen que ir

play07:05

en minúscula por definición inicial

play07:13

self perfecto y acá ya definimos la

play07:17

parte de nuestra inicializador de la de

play07:20

la

play07:21

I Entonces vamos a definir un atributo

play07:24

Bueno un getter Under entonces Geometry

play07:32

que tiene esta clase widget pero como

play07:35

estamos heredando

play07:37

podemos acceder a sus server o los

play07:41

métodos que me permiten modificar las

play07:43

variables que esta clase maneja Entonces

play07:46

tenemos acá muy accediendo al set

play07:49

Geometry para definir pues la geometría

play07:52

o las dimensiones que va a tener nuestra

play07:54

ventana en vacío

play07:56

Entonces esta recibe cuatro parámetros

play07:59

el primero es la posición en x el

play08:02

segundo es la posición en y el tercero

play08:04

es el ancho y el cuarto es el largo

play08:09

entonces todo esto está en píxeles

play08:14

perfecto ahora vamos a definir el título

play08:17

de nuestra ventana vacía para esto que

play08:21

hacemos lo mismo que hicimos con

play08:22

geometría definimos o accedemos a su

play08:27

método que me permite modificar las

play08:30

variables que que tiene entonces set

play08:37

entonces set window

play08:44

Windows

play08:47

tiro

play08:48

con esto podemos definir el título de

play08:51

nuestra ventana nación pues va a ser mi

play08:54

primera ventana perfecto

play08:59

recordemos que estos están definidos en

play09:02

nuestra clase padre que estamos oreando

play09:07

Y por último

play09:09

ejecutamos el método Show

play09:14

el cual también se encuentra en widget

play09:16

esto es para que la ventana se pueda

play09:20

visualizar

play09:22

listo vamos ahora a ejecutar nuestra

play09:25

nuestra aplicación entonces

play09:45

perfecto

play09:48

Entonces qué Vamos a hacer vamos a crear

play09:50

un objeto de una instancia de esta clase

play09:56

Pero antes tenemos que generar una

play09:58

instancia de esta clase que está más

play10:00

importante pues vamos a darle como app

play10:05

es igual a

play10:11

application y entre paréntesis como

play10:14

argumento pasamos el 6

play10:17

esto que me permite pasarle por consola

play10:21

parámetros a la aplicación que estamos

play10:24

generando en este momento

play10:28

Ahora sí generamos la la instancia de

play10:31

nuestro láser ventana vacía

play10:35

nos ventana

play10:38

es igual

play10:40

a ventana vacía

play10:45

perfecto

play10:47

Y por último Ahora sí ejecutamos nuestra

play10:50

aplicación si es punto exit

play10:56

punto

play11:01

listo para que hacemos esto para para

play11:04

que encerramos la ejecución de la

play11:07

aplicación en 6 para pues cuando le

play11:09

demos clic en cerrar efectivamente pues

play11:12

corte todos los recursos que esté

play11:14

utilizando nuestra aplicación y no es

play11:16

nada más que no la veamos pero por

play11:18

debajo en los procesos Aún se esté

play11:20

ejecutando vale con eso nos aseguramos

play11:23

que pues los procesos que se los

play11:25

recursos que tenga pues se liberen

play11:28

y listo ahora damos clic en ejecutar

play11:32

esperamos un momentico

play11:36

acá tenemos un error

play11:38

o que acá es con el tema del constructor

play11:41

Acá hay un error esto no debe ser pasado

play11:45

listo guardamos

play11:48

ejecutamos ahora sí

play11:53

y vemos nuestra ventana creada esta Va a

play11:57

ser como la plantilla base para los

play11:59

demás elementos que pongamos botones

play12:01

paros de navegación checkbox

play12:04

y listo como podemos ver Es algo

play12:06

Bastante sencillo

play12:08

tenemos acá el título el que definimos

play12:11

acá mi primera ventana ya con con los

play12:15

demás vídeos que vamos a ir generando

play12:16

Pues nos vamos a dar cuenta que que esto

play12:19

es una de las partes esenciales para

play12:21

generar una ventana pero bueno veamos

play12:23

con mayor detalle que estamos haciendo

play12:26

acá entonces acá definimos nuestra

play12:29

ventana la clase la cual hereda de q

play12:32

widget la cual a su vez tiene ciertos

play12:35

métodos varía variables ya predefinidas

play12:39

que lo único que necesitamos es definir

play12:42

como sus valores acabemos y ya él se

play12:46

encarga de hacer todo el proceso por

play12:47

debajo de generarnos nuestra ventana

play12:50

el Q a application esta clase en carga

play12:53

de manejar o administrar el Main event

play12:56

look en el mail de below podemos ver

play12:58

todas las interacciones que el usuario

play13:00

haga con con la ventana ya sean clics no

play13:03

sé que cierra la aplicación y maximiza

play13:06

todo ese tipo de interacciones pues van

play13:09

a quedar ahí administradas en esta parte

play13:12

generamos una instancia de la clase que

play13:15

tenemos acá ventana vacía y acá

play13:18

efectivamente lo que haces ejecutar ya

play13:21

la aplicación dentro de un cis punto exe

play13:24

lo cual asegura que una vez finalice la

play13:27

aplicación los recursos que está haya

play13:29

utilizado Pues que se liberen

play13:31

ya con esto finalizamos el vídeo es

play13:34

bastante sencillo no se olviden de dar

play13:36

like y suscribirse y vamos a continuar

play13:38

con estos vídeos entonces para que no se

play13:40

los pierdan Muchas gracias

Rate This

5.0 / 5 (0 votes)

الوسوم ذات الصلة
PyQT6PythonInterfaces de UsuarioDesarrolloProgramaciónTutorialVirtual EnvironmentWidgetsAplicacionesEvent Loop
هل تحتاج إلى تلخيص باللغة الإنجليزية؟