Activa JavaScript para disfrutar de los vídeos de la Mediateca.
01 - Instalación e introducción a Qt6 con Python - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Vamos a aprender a hacer interfaces gráficas con una biblioteca que se llama Qt en Python.
00:00:01
Qt es una biblioteca hecha en C++, pero tiene adaptadores para otros lenguajes.
00:00:08
Lo puedes usar en Python, lo puedes usar en Java, lo puedes usar en un montón de lenguajes.
00:00:15
Lo habitual es en C++, pero lo puedes usar en otros lenguajes.
00:00:19
Para usarlo en Python vamos a instalar esta cosa, el pside6.
00:00:22
Vamos a ver cómo se instala.
00:00:27
Qt es multiplataforma. ¿Eso qué significa? Que lo puedes usar en Windows, en Linux, en Macintosh.
00:00:31
De una forma especial que no vamos a ver aquí también, se podría usar en Android.
00:00:40
Se puede usar en muchos sitios.
00:00:46
Bueno, pues vamos a empezar a usarlo.
00:00:49
¿Cómo se instala el PISA S6?
00:00:51
Bueno, para instalar el PISA S6, cojo y tecleo este comando.
00:00:52
o sea, me voy a un terminal
00:00:58
me voy a un terminal
00:00:59
y tecleo
00:01:03
p3 install
00:01:04
p6
00:01:07
le doy intro, bueno y se instalaría
00:01:08
no voy a instalarlo ya porque ya lo tengo instalado
00:01:10
una vez que ya tengo instalado el pSite
00:01:13
voy a empezar a hacer
00:01:17
mi primera ventana
00:01:19
entonces lo que hago es que
00:01:20
me he creado aquí una carpeta
00:01:22
que he llamado ventana básica
00:01:24
voy a abrir aquí un terminal
00:01:26
Y vamos a empezar creando nuestra primera aplicación
00:01:28
Voy a abrir esta aplicación
00:01:32
Design
00:01:34
Abre el designer
00:01:34
Y me aparece
00:01:41
Primero esta ventana
00:01:42
Voy a crear primero una ventana principal
00:01:44
Le doy aquí a crear
00:01:46
¿De acuerdo?
00:01:48
Y aquí está mi ventana principal
00:01:49
Bueno, por defecto la pone así como muy grande
00:01:51
Vamos a cambiar el tamaño para hacerlo aquí más manejable
00:01:54
Vale, pues aquí
00:01:56
Está creada mi ventana principal
00:01:58
Vamos, se me niega
00:02:00
Ahí, ya, vale
00:02:04
Aquí tengo creada mi ventana principal
00:02:06
Si os fijáis aquí, aquí tengo los distintos elementos que puedo añadir a esta ventana principal
00:02:08
Por ejemplo, le puedo añadir un botón
00:02:16
Si os fijáis, ha aparecido aquí la opción de que tengo un botón
00:02:18
Tengo aquí este botón
00:02:23
Puedo añadirle también lo que llamamos una etiqueta
00:02:24
Una etiqueta es simplemente un texto
00:02:27
Ahí lo tengo
00:02:28
si os fijáis aquí me han aparecido los dos
00:02:29
tanto el botón, ahí lo tengo
00:02:32
como la etiqueta, ahí tengo los dos
00:02:34
bueno, estos botones
00:02:36
y esta etiqueta la puedo colocar aquí como quiera
00:02:41
y puedo previsualizar
00:02:43
como queda la ventana
00:02:46
aquí
00:02:48
puedo previsualizar como vería el usuario
00:02:49
la aplicación
00:02:52
cada objeto
00:02:53
cada objeto que he añadido aquí
00:02:55
cada uno de los dos objetos que se pueden añadir
00:02:57
Tienen unos padres y unos atributos
00:03:00
Veis aquí toda la lista de padres que tiene
00:03:03
Con todos sus atributos
00:03:06
Pues este objeto, el pushButton
00:03:07
Deriva de QWidget
00:03:11
Aquí veis todos los atributos que tiene el QWidget
00:03:13
Este es un botón abstracto
00:03:17
O sea, el pushButton deriva de botón abstracto
00:03:19
Y finalmente tengo el pushButton
00:03:22
Si me voy a la documentación
00:03:24
Me meto aquí en esta página
00:03:26
y busco la documentación
00:03:28
aquí está la API
00:03:31
aquí está la API
00:03:33
y me voy aquí a widgets
00:03:36
bueno, aquí ya me está contando
00:03:38
pues todos los tipos
00:03:41
de widgets y demás
00:03:42
aquí vienen, fijaos todas las
00:03:44
clases que tengo aquí, pues puedo buscar
00:03:46
mi elemento
00:03:48
si no me quiero
00:03:50
complicar mucho, pongo aquí en el buscador
00:03:53
pass
00:03:54
button
00:03:55
y aquí está
00:03:57
el PassBaton
00:03:59
fijaros, aquí tienen la herencia
00:04:01
de donde viene este PassBaton
00:04:03
tiene como padres
00:04:06
bueno, como tatarabuelos
00:04:07
estos dos, el QGEO y PineDevice
00:04:09
luego su derivante
00:04:13
QWidget, derivante
00:04:14
de QAstrang y aquí finalmente tengo
00:04:16
el PassBaton, aquí tienen sus propiedades
00:04:18
y métodos, que esto ya lo veremos
00:04:21
un poquito más adelante
00:04:22
¿de acuerdo? la cuestión es que aquí puedo cambiar
00:04:23
muchas de sus propiedades. Por ejemplo, aquí, en PassButton, ¿veis que pone? Text. Si yo
00:04:26
vengo aquí, hago doble clic y escribo algo, hola, ¿veis que aquí ha puesto hola? Y aquí
00:04:35
también ha puesto hola. Este es el texto del botón, o sea, el texto del botón es
00:04:41
un atributo. En los textos también se pueden cambiar haciendo doble clic. Voy aquí al
00:04:45
botón, lo cambio y puedo poner OK. ¿Veis que ha cambiado aquí, no? Por dos. Este atributo
00:04:50
el atributo texto, pues mira, lo puedo aquí editar
00:04:55
directamente
00:04:57
bueno, veis que tiene aquí un montón de atributos
00:04:58
¿de acuerdo?
00:05:01
la cuestión es no verlos todos
00:05:03
de golpe, pero por ejemplo, veis que aquí
00:05:05
tiene el atributo texto
00:05:07
este que pone icon
00:05:09
es que le puedes añadir una imagen
00:05:11
aquí sale la típica imagen
00:05:13
¿ves? estos botones tienen imagen
00:05:15
pues en lugar de un texto le puedo poner imágenes
00:05:16
bueno, le podemos
00:05:19
poner muchas cosas que por ahora
00:05:21
no vamos a ver
00:05:23
si os habéis fijado
00:05:24
yo he arrastrado los elementos
00:05:27
el elemento lo arrastro ahí
00:05:30
y se añade
00:05:32
no ha añadido nada
00:05:32
bueno, arrastrando aquí
00:05:35
puedo cambiar la posición de los objetos
00:05:36
que he añadido aquí
00:05:39
voy a ponerlos aquí muy separado
00:05:40
y voy a previsualizarlos
00:05:42
esto de añadirlos a malo no es buena idea
00:05:46
¿por qué no es buena idea?
00:05:48
aquí tengo mi ventana, pero si llega el usuario
00:05:49
y cambia el tamaño de la ventana
00:05:50
pues se me ha perdido el botón
00:05:52
El botón está por aquí. Si volvemos, mirad, ahí está el botón. ¿Qué pasa al botón? Los elementos se me salen de la ventana.
00:05:54
Este no es un comportamiento deseable. Para eso vamos a usar esto primero que viene aquí, que son los layouts, las disposiciones.
00:06:04
¿Cómo voy a disponer los elementos? Por defecto, la ventana no tiene layout. O sea, puedo colocar los elementos donde me dé la gana.
00:06:12
pero puedo añadir un layout
00:06:21
tengo un layout vertical que van a colocar los elementos
00:06:23
verticalmente, horizontal, horizontalmente
00:06:26
en forma de rejilla o en forma de formulario
00:06:29
que esta se usa para hacer formularios, evidentemente
00:06:32
vamos a empezar con estas dos, con la vertical y la horizontal
00:06:34
para ponerle disposición, pulso aquí con el botón derecho
00:06:37
aquí en la zona de puntitos y digo distribución
00:06:41
horizontal, ya me los ha distribuido horizontalmente
00:06:44
si me voy a la vista previa
00:06:47
y cambio el tamaño
00:06:49
ya veis que la cosa cambia
00:06:52
que ya no se sale, ya los tamaños
00:06:54
se ajustan
00:06:56
igual que he puesto distribución
00:06:57
horizontal, le podría cambiar
00:07:00
la distribución a vertical
00:07:01
me voy aquí, rompo
00:07:03
la distribución, vuelvo a los
00:07:06
orígenes y le digo ahora que
00:07:08
distribución vertical
00:07:10
ya está distribuido verticalmente, si me voy
00:07:11
a la vista previa
00:07:14
pues veis ahora
00:07:15
que los elementos
00:07:18
cambian
00:07:19
verticalmente.
00:07:21
Lo veis ahí, ¿no?
00:07:23
Puedo mezclar disposiciones.
00:07:27
O sea, tengo aquí ahora una vertical.
00:07:29
Podría meter una distribución horizontal entre medias.
00:07:30
Cojo aquí la distribución horizontal.
00:07:34
O sea, pincho y arrastro.
00:07:35
Y veis que la puedo colocar en distintos sitios.
00:07:36
La puedo colocar arriba, debajo del texto.
00:07:39
Bueno, entre el botón y el texto.
00:07:43
Justo encima del botón.
00:07:44
Detrás del botón. Pues lo voy a colocar aquí.
00:07:45
entre el botón y el texto
00:07:47
ahí lo tenemos, aquí tengo la distribución horizontal
00:07:49
de momento está vacía, le voy a empezar
00:07:51
a meter botones, le meto un botón
00:07:53
otro botón
00:07:54
y
00:07:57
otro botón, ahí tengo mis tres botones
00:07:58
añadidos, si os fijáis, ha ido apareciendo
00:08:01
todo aquí
00:08:03
han ido apareciendo todos los botones que he añadido
00:08:04
si ahora
00:08:07
me voy al formulario y le hago una vista previa
00:08:09
pues aquí tengo mi
00:08:11
ventanita
00:08:13
¿de acuerdo? ves que
00:08:13
estos tres elementos están en vertical
00:08:16
¿de acuerdo?
00:08:21
la etiqueta, el hallato horizontal y el botón están en vertical
00:08:24
y luego los tres botones están evidentemente en el hallato horizontal
00:08:28
o sea, que están en horizontal
00:08:31
jugando con estas dos distribuciones se pueden hacer prácticamente cualquier distribución
00:08:33
que veis en la ventana
00:08:38
si os fijáis aquí, esto sería una distribución vertical
00:08:39
dentro de la distribución vertical
00:08:45
han metido una horizontal
00:08:47
y otra horizontal
00:08:48
vale, o sea que con estos dos elementos ya se pueden hacer
00:08:50
prácticamente cualquier tipo de ventana
00:08:53
y donde no llegan estos dos
00:08:55
tenemos estos otros dos
00:08:57
si os fijáis
00:08:59
aquí abajo aparecen estos dos elementos
00:09:02
estos son los espaciadores
00:09:04
sirven para separar objetos
00:09:06
son como muelles que empujan
00:09:09
entonces imaginaos que meto yo
00:09:11
un espaciador ahí
00:09:13
ahí he metido el espaciador
00:09:14
si me voy a la vista previa
00:09:16
veis que me ha separado los elementos
00:09:17
y no solamente eso, sino cuando cambio el tamaño de la ventana
00:09:20
me los mantiene
00:09:22
separados
00:09:24
¿de acuerdo? fijaos que llega un momento
00:09:25
que no me deja cambiar el tamaño de la ventana
00:09:28
cuando llego ya ahí
00:09:30
al momento en que me van a empezar
00:09:31
a desaparecer elementos
00:09:35
ya no me deja cambiar el tamaño de la ventana
00:09:36
pero fijaros que
00:09:38
aquí tengo mi
00:09:39
separador
00:09:42
cuando cambio la disposición verticalmente
00:09:46
o horizontalmente
00:09:49
fijaos que
00:09:51
este elemento, el elemento de texto
00:09:52
tiende a crecer, ¿no?
00:09:55
es curioso, tiende a crecer porque los botones no crecen
00:09:56
¿vale? ¿esto de dónde viene?
00:09:58
bueno, pues si pincho aquí en teslaven
00:10:00
y me voy aquí a QWidget
00:10:02
ves aquí la política
00:10:05
de tamaño
00:10:06
tengo una política horizontal
00:10:09
y otra política vertical
00:10:11
Voy a pinchar en este botón, que aquí se ve muy claro. Tengo que una política horizontal es ocupar el mínimo espacio y en la política vertical es tamaño fijo, que no voy a cambiar el tamaño fijo. Voy a cambiar el tamaño fijo a expandirse. ¿De acuerdo? Fijaros que ya han pasado aquí cosas.
00:10:12
¿Eso de expandirse qué significa?
00:10:27
Expandirse significa que todo el espacio libre
00:10:30
Lo ocupe el objeto
00:10:32
¿Ves que el test label?
00:10:34
Este elemento, esta etiqueta de texto
00:10:36
Ya no cambia de tamaño
00:10:38
Los botones, por supuesto que no cambian de tamaño
00:10:40
Porque al principio ya no cambiaban
00:10:43
Y este elemento que le hemos dicho que en política vertical
00:10:44
Cambia de tamaño, pues ahora mismo cambia de tamaño
00:10:47
¿Lo veis ahí, no?
00:10:49
Está cambiando el hombre de tamaño
00:10:51
¿Vale?
00:10:52
lo mismo que podríamos hacer para las políticas horizontales
00:10:57
o sea, yo podría decir que este elemento
00:11:00
tiene aquí un tamaño mínimo
00:11:03
pero podría ser también que se expanda
00:11:05
he dicho que hay que expanda
00:11:07
ahí lo tengo
00:11:10
y en la medida de lo posible
00:11:11
ese elemento vais a ver que se expande
00:11:14
¿de acuerdo?
00:11:16
si pongo varios elementos que se expandan
00:11:20
o sea, he puesto que se expanda este y este
00:11:23
pues vais a ver que se reparten el tamaño entre ellos
00:11:28
cuando cambio el tamaño
00:11:30
se reparte por así decirlo
00:11:33
el tamaño entre ellos
00:11:35
y así
00:11:36
hemos creado nuestra interfaz
00:11:43
¿vale? cuando he creado mi interfaz
00:11:46
cojo, archivo
00:11:48
y la guardo, por supuesto guardo la interfaz
00:11:50
vamos a crear
00:11:52
una pequeña interfaz
00:11:54
pero eso
00:11:55
vamos a hacerlo en el siguiente vídeo
00:11:58
- Materias:
- Informática
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado básico
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado medio
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado superior
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado básico
- Subido por:
- Pedro Luis L.
- Licencia:
- Reconocimiento - No comercial - Sin obra derivada
- Visualizaciones:
- 2
- Fecha:
- 24 de marzo de 2026 - 0:07
- Visibilidad:
- Público
- Centro:
- IES VILLABLANCA
- Duración:
- 12′ 02″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 90.38 MBytes