Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Corrección Examen - Vídeo 3 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 26 de diciembre de 2023 por Mario S.

57 visualizaciones

Corrección del examen de SGE - Python

Descargar la transcripción

En este vídeo vamos a ver cómo meter los diferentes widgets dentro de las cajas o los frames que hemos ido creando. 00:00:11
Entonces vamos a poner primero, en el mismo orden en el que las hemos ido creando, los diferentes widgets. 00:00:21
En cabecera lo que va es el nombre del alumno, ¿vale? Entonces, o bien os hacéis otra función en la que vais cargando la cabecera, el pie, los botones, el principal, todas estas cosillas, o lo vamos haciendo a continuación. 00:00:30
Como en el examen os pedí hacer clases, pues vamos a hacerles una clase. Aunque insisto en que os la podréis hacer, seguir haciéndolo debajo, ¿vale? Repitiendo con el widget, con el label, ir metiendo el texto, ir metiendo la fuente, el tamaño, dónde queréis dibujar ese widget, que es lo importante, ¿vale? 00:00:53
En este caso estamos en la cabecera, entonces todo eso hay que tenerlo un poco, bueno, lo hacéis un poco como a vosotros os venga mejor y sea más óptimo, ¿vale? 00:01:17
En este caso, le voy a declarar una clase que se llame mi texto, que no va a heredar de nada, que tiene como siempre su constructor init-bajo-bajo, y en este caso le voy a pasar a este init el self, como siempre es una clase, 00:01:28
le voy a pasar la sección donde quiero que me lo dibuje, le vamos a pasar el texto que quiero que me ponga, le voy a pasar la fuente, el tamaño, le vamos a pasar la posición y le voy a pasar el color. 00:01:53
Por ejemplo, luego ya vamos viendo si me hace falta más cosas, pues le vamos poniendo más cosillas, ¿vale? 00:02:15
Y aquí para poder usarlo en diferentes métodos de esta clase, pues como siempre vale el self.sección es igual a sección, self.texto es igual a texto, self.fuente es igual a fuente, 00:02:21
self.tamaño 00:02:51
es igual a tamaño 00:02:57
self.posición 00:03:01
es igual a posición 00:03:08
y self.color es igual a color 00:03:10
vale, y ahora recordad que como ya le hemos metido el self 00:03:16
a todas estas variables ya son parte de esta clase 00:03:21
es información de esa clase, de esa instantiación de esa clase 00:03:24
vale, entonces aquí ahora 00:03:29
lo que voy a decirle, lo que vamos a hacer es la función 00:03:33
donde cargo el texto, entonces lo vamos a llamar 00:03:36
textLog, por ejemplo, le paso el self 00:03:41
y ahora lo que hago es dibujar ese texto 00:03:45
vale, entonces le vamos a meter self.primero, la sección 00:03:48
vale, entonces le digo self.sec 00:03:53
esto en realidad no me haría falta hacerlo así, pero bueno 00:03:57
yo siempre se lo asigno, la salida del widget siempre la asigno a una variable 00:04:01
por si luego tengo que hacer referencia, vale, esto es igual a tk.label 00:04:04
porque es un label lo que queremos 00:04:09
y tk parece 00:04:11
no está declarado, entonces tk tenemos que declararlo 00:04:17
ahí arriba, ¿vale? como siempre 00:04:21
así que vamos a ello 00:04:23
vamos a poner aquí arriba 00:04:26
el import teca inter 00:04:31
azteca, ¿vale? y así ya lo tenemos 00:04:36
como siempre, vamos a ir a este punto y como decirlo 00:04:44
me vuelvo un poco loquillo 00:04:47
vale, entonces tenemos el widget label de tk 00:04:52
y aquí lo que le voy a decir es 00:04:57
donde quiero que me lo dibuje, que es lo que le hemos pasado 00:05:00
al constructor en sección, vale, que sección a su vez 00:05:05
lo hemos pasado a la variable de instancia del self.section 00:05:10
entonces que le voy a decir aquí, pues quiero que me lo dibuje en self.section 00:05:13
vale, y el texto que va a ser igual a self.texto, vale, en este caso, ¿qué es lo que nos va a hacer?, nos va a, ya le hemos dicho donde quiero que me ponga esta etiqueta, 00:05:20
y el texto que quiero que me escriba, vale, eso se lo paso a la clase, en el constructor, lo meto en la variable distancia, y aquí se lo paso al widget, vale, 00:05:39
Bueno, ¿qué más quiero que me haga esta función? Pues por ejemplo, ya que le hemos pasado el color, vamos a decirle el color que queremos, ¿vale? 00:05:49
Y el color, pues le vamos a decir que nos coja este color de fuente, ¿vale? 00:06:07
Entonces, para hacer eso, esta clase la hemos llamado coloresAplicación, pues vamos a crearnos una variable que la vamos a llamar, pues eso, coloresAplicación, entonces le vamos a poner self.colores, es igual a coloresAplicación, ¿vale? 00:06:15
Y una vez que tengo ya instanciado colores a aplicación, puedo coger cualquiera de estos colores, pues vamos a meternos en self.sec, ¿vale? Para hacer referencia al label, .config. 00:06:37
Y así modificamos la configuración, ¿vale? Y en este caso la configuración, es decir, el FG, esto va a ser igual a el self.color, el color que hemos pasado y queremos que sea nuestro texto, ¿vale? 00:06:55
la fuente, pues en este caso 00:07:15
le voy a hacer una fuente siempre 00:07:18
ah no, se la hemos pasado también antes, así que le ponemos 00:07:21
entonces el self.fuente 00:07:26
pero font va entre paréntesis 00:07:29
así, self.font 00:07:35
fuente, esto 00:07:37
y el tamaño que también se lo hemos pasado 00:07:40
ser punto tamaño 00:07:44
vale 00:07:47
vale 00:07:48
nos falta decir el color de fondo 00:07:50
bajo el bg 00:07:53
y esto va a ser igual a 00:07:55
ser punto, como es el color 00:07:58
de cabecera 00:07:59
es lo de 00:08:00
aquí está el color cabecera 00:08:03
vale, pues entonces ponemos el self 00:08:05
vamos a poner colores 00:08:07
porque es donde he instanciado colores 00:08:09
aplicaciones, es ser punto 00:08:11
colores 00:08:13
a un momentito que llaman 00:08:14
vale 00:08:16
entonces estábamos diciendo el color 00:08:19
de fondo, el pgColor 00:08:21
y lo estábamos haciendo contra colores 00:08:23
que es la instancia de colores aplicación 00:08:26
y en este caso es colores 00:08:28
y le digo que me coja el color 00:08:29
este, justo, el color 00:08:32
de cabecera 00:08:36
vale 00:08:37
¿qué más nos haría falta? 00:08:38
Podríamos decirle que nos devuelva, meterle un pathX y un pathY, por ejemplo. 00:08:47
Esto ya es un poco lo que como a vosotros os guste más, como diseñadores de la interfaz. 00:08:54
Vamos a ponerle este, el pathX, pathY, 10. 00:09:02
Bueno, y por último, como siempre, al widget recordad que hay que decirle dónde quiero que me lo dibuje. 00:09:07
Vale, o sea, al final con los widgets lo importante siempre es que nos meta, o sea, decirle dónde queremos dibujar el widget y luego posicionarlo. 00:09:16
Con eso ya nos valdría, el resto son atributos que podéis usarlos o no. 00:09:33
Vale, entonces lo último que nos quedaría sería el self.sec.pack 00:09:40
Vamos a usar el pack 00:09:47
Recordad que teníamos tres formas de alinear los widgets 00:09:48
Con el pack, con el grid y con el place 00:09:52
Vale, y entonces en este caso, ¿qué le voy a decir? 00:09:55
El side va a ser igual a self.position 00:09:59
Que para eso se la hemos pasado, ¿vale? 00:10:06
Y esta sería una clase a la que yo la puedo llamar constantemente y ir dibujando el texto que yo quiera, en la sección que yo quiera, con el tamaño, con todo eso, ¿vale? Con la fuente que yo quiero, ¿vale? Y esto está bien, esto es uno de los principios de programación que es reutilizar el código. 00:10:10
Vale, volvemos a nuestra clase ventana principal y aquí es donde vamos a llamar a nuestro texto, ¿vale? Entonces, vamos a ver, aquí le vamos a decir que mi texto, bueno, primero tenemos que importar, obviamente, esta clase. 00:10:29
mi texto. Vale. Segundo, vamos a coger y vamos a decirle, a ver si así me vale, sin 00:10:59
tener que hacer mucho más, digo mi texto, paréntesis, a ver si nos lo coge. Primero, 00:11:23
¿Dónde quiero la sección? ¿Dónde queremos dibujarlo? self.cabecera. 00:11:32
Segundo, el texto que queremos que nos dibuje. En este caso es el nombre del alumno que vamos a poner, Lucas. 00:11:41
tercero, la fuente 00:11:49
vale, entonces para la fuente 00:11:52
yo ahora mismo estoy con el 00:11:54
portátil, con el Mac 00:11:56
pues voy a usar 00:11:57
gusheri block 00:12:02
vale, el tamaño 00:12:03
vamos a poner a 20 00:12:13
luego 00:12:15
ahora lo testeamos y lo vamos 00:12:16
mirando 00:12:19
tk. 00:12:19
punto 00:12:22
pues top 00:12:22
vale, le decimos que no lo ponga arriba 00:12:25
ahora nos pide el color 00:12:28
self.colores 00:12:32
color 00:12:35
aquí como color principal 00:12:39
vale, pues aquí le vamos a decir 00:12:45
el color de la fuente 00:12:48
entiendo que este 00:12:50
vale 00:12:52
el color de la fuente 00:12:53
el color de la fuente 00:12:58
el color de la fuente, vale, yo creo que sí, vale, y ya estaría, no nos pide nada más, 00:12:59
ahora vamos a probarlo, así que me vengo a principal, y esto no me ha dado ningún error, 00:13:11
pero tampoco me lo ha puesto, vale, ¿por qué no nos ha impreso, por qué no nos ha mostrado el widget? 00:13:22
Pues porque en la clase no hemos llamado al testload 00:13:29
Entonces tenemos que llamarle desde aquí al cell.textload 00:13:32
Con eso ya sí, ya, claro, o le llamamos desde la misma clase 00:13:38
O le llamo desde donde he instanciado esta clase 00:13:44
¿Vale? Pero tengo que llamarle, por eso no me estaba haciendo nada 00:13:51
Vamos a ver si ya sí nos lo hace 00:13:53
Le damos al play, ¿vale? 00:13:55
Y aquí ya tenemos el nombre con el tipo de letra. 00:13:58
Bueno, pues ese sería el nombre, ¿vale? 00:14:03
La fuente que queráis y que os la coja. 00:14:07
La que yo os pasaré para los exámenes y eso son fuentes que vienen en los portátiles de clase, así que no hay problema. 00:14:12
Vale, y te has hecho una clase que es muy cómoda a la hora de trabajar, 00:14:20
Fijaros que ahora ya solo para meter el texto del pie, ¿no? Pues tengo que hacer básicamente lo mismo, es mi texto, self. En este caso, ¿dónde lo quiero meter? En el pie, ¿vale? 00:14:24
¿El texto que le quiero pasar? 00:14:56
El nombre... 00:15:01
No, era examen 00:15:02
primera 00:15:04
evaluación. 00:15:06
Curso 00:15:14
2023 00:15:15
2024 00:15:18
¿Vale? 00:15:20
Le voy a pasar la misma. 00:15:26
Cucheri 00:15:29
blog 00:15:31
le pasamos el mismo tamaño 00:15:33
le paso la orientación donde quiero que me lo ponga 00:15:39
a la izquierda, me parece que era, va a ser punto 00:15:46
y aquí le vamos a poner 00:15:50
color fuente secundaria 00:15:55
por ejemplo, no me acuerdo si era este 00:16:02
vale, pero ahora lo probamos, en todo caso, ya veis que 00:16:05
ahora ya para ir metiendo texto en las diferentes 00:16:10
secciones de las que hemos ido creando 00:16:13
sería tan simple como esto, vale, bueno, entonces nos vamos 00:16:18
a main, le doy al play 00:16:22
y aquí está, vale, pone Lucas aquí arriba 00:16:25
y aquí a la izquierda, examen primera evaluación, curso 2023-2024 00:16:30
vale, y ya tenemos 00:16:35
la fuente o el texto 00:16:37
¿vale? en la caja de arriba y en la caja de abajo 00:16:41
¿vale? ¿qué más tenemos que ir metiendo? los botones 00:16:44
¿vale? entonces para el tema de los botones 00:16:51
bueno, antes de los botones 00:16:54
metíamos otro texto en el 00:17:01
principal, cuando arrancaba la aplicación que ponía Villablanca 00:17:05
rp, vamos a hacer eso, vamos a ponerle 00:17:09
en este caso, bueno, pues le vamos a poner self. 00:17:14
vamos a ponerle 00:17:23
set es igual a tk.label 00:17:24
que en este caso podríamos también pasárselo directamente 00:17:29
con mi texto, vale, pero se lo voy a pasar 00:17:33
para que veáis que también podéis 00:17:37
estar trabajando con los widgets directamente sin necesidad de estar creando clases 00:17:41
¿vale? aunque la forma de crear la clase 00:17:45
te permite la reutilización del software, así como lo voy a hacer ahora pues no 00:17:49
vale, entonces vamos a poner 00:17:53
el label, queremos que nos lo ponga en self.principal 00:17:57
queremos que el texto 00:18:01
sea igual a 00:18:05
Villablanca 00:18:09
el exacto de carne 00:18:12
y le meto 00:18:15
el punto rp 00:18:18
vale 00:18:20
nuestro rp 00:18:22
le decimos ser 00:18:23
ser punto 00:18:27
colores 00:18:30
es igual a 00:18:34
colores aplicación 00:18:35
vale 00:18:38
alguna instancia, lo mismo que he hecho antes, pero aquí tengo que estar repitiendo todo el tiempo 00:18:39
lo mismo, vale, por eso os digo que es más cómodo hacer 00:18:43
una clase y ir llamando 00:18:47
a la clase y ya está, vale, eso ya os lo dejo a vosotros hacerlo de las dos 00:18:51
formas y así lo vais probando, nfg es igual al 00:18:55
self.colores 00:18:59
o color fuente, vale, en principio 00:19:02
esto ya no me hace falta tampoco, si esto ya lo hemos declarado arriba 00:19:15
self colores, esto ya lo tenemos aquí declarado 00:19:18
pues no nos hace falta, así que esto fuera 00:19:23
esto fuera de aquí 00:19:25
vale, en fg esto 00:19:28
le vamos a decir también la fuente 00:19:32
que le voy a poner la misma 00:19:37
La fuente siempre, que siempre se me olvida 00:19:42
Es entre paréntesis 00:19:56
Siempre se pasa entre paréntesis 00:19:59
Y se pasa la fuente y el tamaño 00:20:03
Vale, pues aquí el tamaño, pues por ejemplo 00:20:10
Vamos a meterle a 60 00:20:14
Porque está en el principal y es algo más 00:20:15
queremos que sea más grande, vale, insisto, esto todo es 00:20:18
diseño, dejé el color de fondo, le digo 00:20:22
que sea, ser punto, color 00:20:26
pues ahora estamos en el principal, pues color de principal 00:20:30
vale, y le meto un pad 00:20:35
x de 10 00:20:38
y un pad y de 10 00:20:42
vale, y que es lo que nos faltaría, colocarlo 00:20:47
como siempre, set.sec 00:20:51
.pack, site 00:20:54
site, en este caso yo lo quiero centrado 00:20:58
y aquí lo único que me deja es el left, right, top y bottom, si no le pasas 00:21:06
ningún site directamente ya te lo centra, vale, entonces lo que si 00:21:10
que lo voy a pasar es un path y a 150 00:21:14
cuenta pues para que me lo centre o esto lo voy a hacer un poco a ojímetro a ver cómo nos queda 00:21:17
vale entonces vamos a darle al main le voy a dar al principal bueno y más o menos pues ahí vale 00:21:23
lucas y la blanca rp y el curso y ahora empezaríamos con los botones vale con el tema de 00:21:31
los botones, había que meter primero 00:21:41
una imagen, ¿vale? Entonces 00:21:47
voy a buscar primero la imagen, voy a pausar el vídeo, voy a buscar la imagen 00:21:50
y continuamos. Bueno, una vez que hemos visto que nos 00:21:55
funciona todo, ahora vamos a meter los widgets 00:22:02
del lado izquierdo. Entonces para hacer esto 00:22:05
en el examen nos pedían que pusiéramos una imagen con el 00:22:10
logo del Villablanca en la parte superior, un botón que era en el que cargábamos los 00:22:14
diferentes JSON y luego los guardábamos en la base de datos, en un botón, o sea, eso 00:22:21
se tenía que ejecutar en un botón que estaba justo debajo de la imagen, ¿vale? Siempre 00:22:31
pensando en la parte superior de ese frame y en la parte inferior del frame había otro 00:22:37
botón que cuando lo pulsaba y salía vuestro nombre y algo así vale entonces fijaros como 00:22:43
para la imagen me he creado una carpeta que es package y dentro de package he metido el 00:22:52
logo punto png vale si veis en la documentación de python aconsejan meter todos este tipo de 00:22:59
ficheros que son pues eso imágenes o ficheros que vayamos a utilizar dentro de nuestro python 00:23:09
vale dentro de nuestro desarrollo dentro de la carpeta de pack por eso lo he metido ahí y ya 00:23:18
está bien vale entonces vamos con esto lo primero es cargar la imagen para cargar la imagen me hace 00:23:26
falta el foto image del tkinter vale entonces voy a coger from tkinter import foto image vale vale 00:23:32
esto lo primero lo segundo pues ya empezamos a cargar esa imagen entonces vamos a 00:23:52
crearnos la variable, vamos a llamar por ejemplo 00:23:58
logo, por ejemplo, y este va a ser igual a 00:24:03
tk.photoImage 00:24:07
y le digo el fichero, vale, con el attribute of file 00:24:11
para cargar, aquí solo estamos cargando 00:24:15
o haciendo esa relación, vale 00:24:17
diciéndole donde tengo que ir a buscar la imagen que quiero cargar y lo estoy guardando 00:24:23
en la variable logo, aquí siempre que es un stream 00:24:27
le vamos a decir, pues aquí estás en package 00:24:31
barra y le hemos llamado 00:24:35
logo.png 00:24:39
a veces hay problemas a la hora de cargar las imágenes 00:24:41
y eso puede ser por varias cosas, porque no le hayamos dado bien 00:24:47
la ruta, porque no hayamos puesto bien el nombre de la imagen, porque no hayamos puesto 00:24:51
la extensión, pero también pueden ser problemas de la propia imagen 00:24:55
porque puede ser de 16 bits, puede estar indexada 00:24:59
puede ser, vale, por el formato, por el tipo en el que está 00:25:03
creada esa imagen nos puede dar problemas a la hora de cargar 00:25:07
o de utilizarla dentro de un fichero de Python 00:25:10
vale, en este caso 00:25:15
vamos a pensar que este nos va a funcionar bien 00:25:19
tengo el logo y entonces lo que voy a hacer es un tk 00:25:22
y voy a poner un label, por ejemplo, ¿vale? como siempre 00:25:26
le digo donde quiero 00:25:30
que me lo dibuje, self. 00:25:31
a este le he llamado izquierda 00:25:40
pues izquierda, eso es 00:25:42
el frame donde queremos que nos lo dibuje, ¿vale? 00:25:46
le decimos 00:25:50
image es igual a self.logo 00:25:53
que es donde hemos guardado ese logo que queremos poner 00:25:57
y ya empezamos como siempre a meter el background del color 00:26:01
pues le vamos a poner el color 00:26:05
color izquierda 00:26:08
color izquierda 00:26:14
y ahora nos faltaría situarlo, entonces para situarlo otra forma de hacerlo sería directamente desde aquí, como este widget no se lo he asociado a ninguna variable, 00:26:21
solo tengo la opción de poner el punto, el pack y donde lo queremos situar, en este caso este cap punto, hemos dicho en la parte de arriba el top 00:26:35
y le vamos a meter un padding de 10 00:26:47
¿vale? algo así, vale, si yo aquí hubiera puesto pues por ejemplo 00:26:51
self mi logo o algo así 00:26:56
igual atk.label, luego podría haber puesto el self mi logo.pack 00:26:59
y todo esto, ¿vale? 00:27:03
vale, vamos a ver que nos hace esto, vale, ya tenemos ahí 00:27:07
ese logo, en este caso, este logo le he metido 00:27:13
el bg pensaba que era transparente pero no es transparente, bueno, habría que 00:27:17
buscar el que es transparente, que es el que está en internet, pero ya lo tendríamos 00:27:21
ya lo tendríamos aquí situado, vale 00:27:26
tiene el pad en i de 10 00:27:29
así que bueno, pues por ahora está bien 00:27:33
vale, pues vamos a meterle también 00:27:37
si acaso 00:27:41
que no sé yo si nos va a hacer algo 00:27:42
porque está cogiendo 00:27:50
me lo ajusta 00:27:53
vale 00:27:56
bueno 00:27:58
incluso podríamos decirle 00:28:00
bueno 00:28:06
podríamos cambiar el ancho y el alto 00:28:07
de esta imagen 00:28:10
y así no 00:28:11
que no fuera tan grande 00:28:13
vale, pero vale, yo lo voy a dejar así y ya está 00:28:17
vale, ¿qué es lo que me hace falta ahora? el botón, entonces 00:28:22
vamos a meter, os lo voy a poner 00:28:27
aunque sea un botón solo, como lo haría para hacer 00:28:31
varios botones haciendo una colección de datos 00:28:35
luego esa colección de datos la voy leyendo con un for y voy creando 00:28:38
los botones y es más rápido, ¿vale? Al final es más rápido, aunque ahora parezca más 00:28:43
laborioso. Entonces, aquí vamos a hacer primero esa colección de datos, ¿vale? Y entonces 00:28:51
Entonces vamos a poner el buttonOption, esto es igual a, y aquí iría pasando todos los 00:29:03
botones que quiero ir creando, en este caso es un, vale, entonces, bueno, ¿qué es lo 00:29:15
que le voy a pasar aquí?, le voy a pasar pues, esto ya es como vosotros creáis, yo 00:29:23
lo voy a pasar primero, migración de datos, primero el texto que quiero que me aparezca 00:29:29
encima del botón, luego le voy a decir como quiero que se llame esa variable, que es 00:29:36
ser.ptn opción 1 por ejemplo, vale, para luego hacer referencia sobre ese botón, y 00:29:46
el módulo 00:29:56
load.json 00:30:01
vale, el módulo 00:30:03
al que quiero 00:30:05
que llame, vale 00:30:06
voy a ponerlo así 00:30:09
vale 00:30:11
entonces 00:30:13
una vez tengo 00:30:15
hecho esto, vamos 00:30:17
a hacer 00:30:21
el for que iría 00:30:23
leyendo todas las colecciones 00:30:25
de datos que tengo aquí 00:30:27
En este caso, ya os digo, ¿vale? Es una lista con nuestra colección de datos, solo es uno, entonces, bueno, aquí me haría mi for, en mi for le diría, ¿vale? Dentro de texto, botón, y vamos a ponerle comando, in button, opt-in, ¿vale? 00:30:29
¿Qué es lo que estoy haciendo? Cada uno de estos datos de todas las colecciones, el primer valor me lo vas a guardar en texto, el segundo me lo vas a guardar en botón y el tercero en comando, ¿vale? 00:30:54
Y con eso lo que voy a hacer es llamar a una función, que no la tengo creada todavía, pero la vamos a crear, que la podemos llamar, por ejemplo, configurar botón menú, ¿vale? 00:31:08
y ahí le vamos a pasar el botón, el texto y el comando, vale, vale, entonces ahora vámonos 00:31:24
a crear esa función y esa función va a ser 00:31:42
a ver, estamos bien, vale, le hemos llamado 00:31:48
de configurar 00:31:51
botón menú 00:31:56
vale, y hemos dicho que le pasamos 00:31:59
tres parámetros, el botón 00:32:05
el texto y el comando 00:32:10
que me da igual poner el mismo nombre 00:32:16
que les pongo aquí, vale, me da exactamente lo mismo, porque esto es otra función 00:32:19
y entonces está trabajando con el nombre de esas variables 00:32:24
de esos parámetros de entrada en local, vale, entonces me da igual 00:32:29
no pasa nada, entonces yo aquí le voy a decir que botón 00:32:32
punto, eh, config 00:32:37
config va a ser igual 00:32:43
Ah, primero el texto, pues el texto lo voy a decir que es una cadena de texto, formato, vale, que coja formato y le digo que me coja el valor de texto, vale, que me coja, 00:32:49
esto es sin paréntesis, perdón, esto es una 00:33:09
variable de un parámetro de entrada 00:33:13
entonces le digo f, a ver si lo pongo bien 00:33:15
f, esto sí que es formato string, esto sí 00:33:21
vale, esto es así, vale, le digo 00:33:25
lancho 00:33:29
igual, w si queréis 00:33:31
es moverlo a la izquierda 00:33:36
son los puntos cardinales 00:33:38
pues 00:33:43
el sur 00:33:43
y el norte 00:33:47
¿vale? entonces podríamos 00:33:49
pasarle esos parámetros de arriba a abajo 00:33:51
izquierda y derecha con estas letras 00:33:53
¿vale? 00:33:56
entonces le paso 00:33:58
el west 00:33:59
¿vale? 00:34:00
minúscula 00:34:02
le vamos a pasar paréntesis 00:34:03
block, le vamos a pasar el tamaño 00:34:10
15 por ejemplo, vale 00:34:20
bd es un relieve que puede tener ese botón 00:34:25
el bg es igual a, y en bg pues 00:34:29
vamos a usar otro color 00:34:34
que no sea, podríamos usar los mismos que tenemos 00:34:37
le voy a pasar otro código, que es este 00:34:42
vale, y de fondo 00:34:46
eso sí, le voy a pasar el del color 00:34:50
el de color, como es 00:34:54
color izquierdo, self 00:35:01
punto color izquierdo, este 00:35:04
para que me haga el efecto este de transparente 00:35:09
vale, el color de la fuente 00:35:14
le digo que sea 00:35:17
lo que le podemos pasar es el width 00:35:18
que sea igual a 20 00:35:22
que sea igual a 1 00:35:26
y el command 00:35:34
que es igual a 00:35:38
comando, vale, vamos a poner esto 00:35:41
para verlo todo bien, ahí estás, vale 00:35:46
y eso configuraría el botón, y lo que nos faltaría 00:35:52
al final es, botón.pack 00:35:55
esto es igual a side 00:36:00
de acá, punto 00:36:03
y igual 10, vale 00:36:06
para que haya un margen, que haya un espacio entre la imagen y el botón o los diferentes botones, le meto el path en A10 y le digo que me lo vaya ordenando todo en la parte superior, ¿vale? 00:36:13
de esta manera cuando yo llamo a configurar botón ya tendríamos el configurar el botón y 00:36:31
en principio con esto nos debería de valer vamos a verlo 00:36:44
Ah, claro, eso me había 00:36:49
Antes de meter 00:37:01
Self.btn 00:37:05
Opción 00:37:10
Eso es donde 00:37:13
Le digo que quiero el botón 00:37:15
¿Vale? Entonces aquí es el botón 00:37:18
¿Y dónde quiero ese botón? 00:37:20
Que es en el self.iz 00:37:22
izquierda, vale, ahora sí, ahora hay que decirle dónde lo pintamos, pero o aquí paso directamente el TK, el TK es el botón izquierda, vale, haría eso, o lo hago así, 00:37:24
Enter, load, el comando es load json, serve, y aquí le pongo un pass, vale, ya estás, 00:37:40
ahora ya si no, no debería de coger todo, aquí estás, vale, y entonces tenemos nuestro 00:37:56
botón, que ahora mismo no hace nada, bueno y nos tendríamos ahora que hacernos el último 00:38:04
botón que sería el de la información de cada uno de vosotros, vale, entonces vamos 00:38:14
a terminar este vídeo con ese botón y ya en el próximo les damos funcionalidad a esos 00:38:27
botones y ya estaría. Vale, aquí sería, por ejemplo, ser.btnOpcion2.confi, vamos a 00:38:36
vamos a meter aquí también, self.btn.funcion2.tk.button, self.izquierda, vale, y aquí es el config, 00:38:56
vale, y en el config le vamos a pasar, pues igual que antes y es todo lo mismo, el texto, 00:39:23
vale, le ponemos 00:39:32
punto de anclaje 00:39:37
vale, la fuente 00:39:50
que hemos dicho que es 00:39:54
por un lado 00:39:57
boucherie block y el tamaño que hemos dicho que son 15, que más le podemos pasar, el 00:39:59
verde que es para darle ese relieve que no se lo voy a pasar, veje color que es igual 00:40:16
y le vamos a poner, pues lo voy a poner, a ver si lo coge, a ver si le da la gana, vamos 00:40:23
no me lo va a coger, a vosotros si debería 00:40:33
de coger 00:40:35
3799 00:40:35
y el pp 00:40:38
se lo voy a poner igual que 00:40:55
el de antes que es color 00:40:58
o colores como le hemos llamado 00:41:01
color izquierda 00:41:03
color 00:41:06
pues lo voy a poner el mismo 00:41:08
color izquierda 00:41:11
izquierda, uy esto está mal, esto hay que cerrar este paréntesis aquí, es el, ¿por qué lo he metido aquí?, he puesto en un D, esto hay que tabularlo para adentro, vale, el self color izquierda, 00:41:15
y vamos a ponerle también el tamaño, el ancho, el width, que como el de abajo le he puesto 00:41:54
a 25, pues 25, el a, que abajo le he puesto el 2, pues a 2, y el comando, que en este 00:42:13
caso vamos a llamar a mi información, vale, en este caso esta función tenemos que crearla, 00:42:37
así que vamos a poner aquí, para que no se me olvide 00:42:53
def 00:42:55
información 00:42:58
pas 00:43:01
así no se me olvida, ¿qué es lo que me faltaría 00:43:04
ahora? situarlo 00:43:09
lo de siempre 00:43:10
que en este caso 00:43:11
va a ser 00:43:15
self.ptl 00:43:16
opción 2 00:43:22
.pack 00:43:24
side 00:43:27
igual 00:43:30
tk.boom 00:43:31
una parte de abajo 00:43:34
un pack 00:43:36
de mi 00:43:38
vecino 00:43:39
vale 00:43:41
ya tendríamos 00:43:44
si está todo bien 00:43:45
algo ha fallado 00:43:47
aquí 00:43:50
Y aquí tengo mi botón y otro botón, el texto alineado a la izquierda o a la derecha, que 00:43:53
eso, lo he hecho con el anchor, el anchor, aquí está Wes, y si no me equivoco por aquí 00:44:20
estará el N, aquí estás, el anchor, vale, N, y así anclo los diferentes, el texto, 00:44:30
vale, a la izquierda o a la derecha en el botón, y ya tendríamos hasta aquí este 00:44:41
vídeo, ya hemos metido esta imagen, hemos metido el texto en el principal, los textos 00:44:47
en el cabezado y en el pie, los botones y en el último vídeo ya lo que hacemos es 00:44:53
la funcionalidad de esos botones. Un saludo chicos, hasta luego. 00:45:01
Idioma/s:
es
Autor/es:
Mario S.
Subido por:
Mario S.
Licencia:
Dominio público
Visualizaciones:
57
Fecha:
26 de diciembre de 2023 - 21:37
Visibilidad:
Público
Centro:
IES VILLABLANCA
Duración:
45′ 09″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
985.80 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid