Aprende a usar la interfaz gráfica de Python: PyQt5 | Hadi Youness | Skillshare
Buscar

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Aprende a usar la interfaz gráfica de Python: PyQt5

teacher avatar Hadi Youness, Computer Engineer

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción

      2:54

    • 2.

      Requisitos

      1:39

    • 3.

      Versión PyQt5

      3:43

    • 4.

      3Date y hora

      8:35

    • 5.

      Botones

      7:33

    • 6.

      disposición/composición/diseño

      14:25

    • 7.

      Diseño de formas

      10:28

    • 8.

      Etiqueta

      6:06

    • 9.

      Edición de línea

      9:13

    • 10.

      Botón de radio

      10:02

    • 11.

      Caja de verificación

      7:30

    • 12.

      Caja Combo

      5:55

    • 13.

      Caja de giros

      5:00

    • 14.

      Slider

      13:36

    • 15.

      Barra de menú

      8:13

    • 16.

      Barra de herramientas

      6:26

    • 17.

      Diálogo de entrada

      12:53

    • 18.

      Diálogo de fuentes

      6:41

    • 19.

      Diálogo de Dialogo

      13:11

    • 20.

      Pasta

      10:46

    • 21.

      Stack

      10:50

    • 22.

      Splitter

      7:31

    • 23.

      Dock

      6:25

    • 24.

      Barra de desplazamiento

      5:51

    • 25.

      Barra de estado

      7:55

    • 26.

      Calendario

      5:39

    • 27.

      Arrastrar y suelto

      12:54

    • 28.

      Descarga de diseñadores Qt

      2:11

    • 29.

      Introducción a Qt Designer Designer

      5:34

    • 30.

      Caja de widgets

      11:33

    • 31.

      Primera aplicación de diseñador Qt

      7:34

    • 32.

      Convertir Ui a Python

      3:05

    • 33.

      Diseño en Qt Designer Designer

      7:58

    • 34.

      Editar el orden de la tinta

      4:16

    • 35.

      Definir Buddies

      3:03

    • 36.

      Editar ranuras y señales

      5:53

    • 37.

      Introducción a la juego de Dice

      3:41

    • 38.

      Juego de dares: construir la aplicación

      8:34

    • 39.

      Juego de dares: añadir jugadores

      9:22

    • 40.

      Juego de Game: marcación y dices

      11:26

    • 41.

      Juego de dares: botones de lego y rollo

      4:26

    • 42.

      Juego de dares: rollo el botón de dados

      14:58

    • 43.

      Juego de dares: lección de nuevos botones de juego y ganador

      14:14

    • 44.

      Proyecto

      1:49

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

171

Estudiantes

--

Proyecto

Acerca de esta clase

En este curso, vas a aprender sobre la interfaz de usuario más gráfica más afincada de PyQt5.

Vamos a seguir el siguientes esquema:

-Primero aprenderemos sobre el widget básico de PyQt5 como el diseño, el etiquetado, los botones y mucho mucho más.

-segundo de segundo lado, vamos a pasar a algunos widgets y temas avanzados como la entrada, la fuente y el diálogos de archivos de apiladas, apiladas, pestañas y splitters.

-Después, aprenderemos sobre la famosa herramienta de PyQt Designer que va a crear una aplicación con la técnica de drag y solción. Tendremos un recorrido detallado de todas las funciones de esta herramienta para construir cualquier aplicación sin problemas

Finalmente, vamos a tener una lista de proyectos que siempre se actualizen. La lista de proyectos contiene lo que tiene:

Juego de 1 dado: construye un juego de dados con widgets PyQt5 y aprendiendo a conectar las diferentes funciones a sus botones correspondientes. Además, aprenderás a utilizar CSS en PyQt5 para mejorar la experiencia general del usuario en tus aplicaciones GUI de GUI de guía.

Hay más proyectos se añadirán regular.

Espero que disfrutes este curso, y me gustaría añadir que estoy disponible en todo momento en tu viaje en este curso, y si tienes alguna pregunta o reflexiones de comentarios, ¡me encantaré de hablar!

Conoce a tu profesor(a)

Teacher Profile Image

Hadi Youness

Computer Engineer

Profesor(a)

Hello, I'm Hadi. I am studying Computer Engineering at the Lebanese American University (LAU). I like to share my knowledge with everybody and I believe that teaching is a perfect way to understand anything since you must be well informed about something to be able to teach it in the simplest possible ways!

Ver perfil completo

Habilidades relacionadas

Desarrollo Lenguajes de programación Python
Level: Beginner

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción: Hola y bienvenidos. Mi nombre es jefatura de unidades y eso se estructurará a lo largo de este curso. Ahora hoy vamos a hablar de una de las interfaces gráficas de usuario más famosas de Python, y se conoce como Pi purificado. Por lo que sí tenemos cinco versiones ahora. Y este es el quinto que vamos a utilizar en este curso. Y antes de comenzar, me gustaría darles un pequeño esbozo de lo que deben esperar de este curso y qué manera mejorará sus conocimientos en este dominio. Entonces, en primer lugar, vamos a empezar con los widgets básicos que tenemos en Piketty cinco. Y luego vamos a pasar a los activos avanzados que vamos a hablar de la herramienta de diseñador QT. Y este es uno de los tours más famosos que utiliza la técnica DAC y drop para crear las aplicaciones. Y por último, vamos a crear algunos proyectos y aplicaciones. Lo que hemos aprendido antes. Ahora empezando por los widgets básicos, vamos a cubrir una amplia gama de ellos, como botones, maquetación, etiquetas, la edición de línea y impuestos, botones push, radio y check. Y sí tenemos muchos más que vamos a cubrir. Y después de eso, vamos a pasar a los avanzados, como el cuadro combinado, caja de giro, deslizador, menú y Barra de herramientas. Y sí tenemos la fuente de entrada y cinco diálogos. Y después de eso, vamos a hablar del sputter de la pila de pestañas y así sucesivamente. Por lo que tendrá muchas etapas más avanzadas que vamos a cubrir. Y después de eso, vamos a hablar de la herramienta de diseñador QT. Vamos a aprender a descargarlo. Y luego vamos a tener un paseo a través de todas las funciones principales que vamos a utilizar. Se. Después de eso, vamos a tomar los principales interruptores básicos y avanzados que hemos aprendido antes y aprender a usarlos en esta herramienta. Entonces vamos a aprender a conectar botones con otros widgets dentro del taburete con una técnica de arrastrar y soltar y simplemente vinculando entre los botones y widgets dentro de la aplicación. Y por último, vamos a crear aplicaciones de acarreo utilizando esta herramienta. Y con eso dicho, estaremos teniendo dos formas principales crear nuestras aplicaciones Piketty cinco. El primero es con la escritura el código tú mismo y decidido uno es mediante el uso de esta herramienta de diseñador QT. Y normalmente si quieres algo que sea un poco específico, quizá quieras ir con la técnica de vigilancia. Ahora vamos a tener un montón de proyectos en los que vamos a trabajar, y realmente no puedo agregarlos en este video introductorio. Vamos a tener una sección específica. Vamos a ver todos los proyectos en los que vamos a trabajar. Y eso es todo básicamente, espero que hayan disfrutado este curso y nos veamos en los próximos videos. 2. Requisitos: Hola y bienvenidos. Entonces en este video, vamos a pasar por los requisitos del curso. Lo primero que vamos a hacer es descargar Python. Vamos a dirigirnos a python.org descargas de slash y luego presionar sobre descarga Python 3, 10. Por lo que esta versión podría no ser el caso para ti. Por lo que no importa, solo tienes que hacer click y descargar cualquier versión que exista en tu sitio web. Creo que lo que vamos a hacer es comprobar si Python es un nuevo espacio de trabajo. Lo que vamos a hacer es dirigirnos a CMD. Así que déjame entrar en cmd y solo escribir Python. Y como pueden ver, vamos a ver a Python y la versión. Por lo que mi versión es 3.8.10. Voy a estar actualizándolo a 3.10 ahora mismo. Y el segundo requisito es descargar el IDE que vamos a usar, que es Visual Studio Code. Entonces vamos a dirigirnos a Pseudo-código Visual. Y como puedes ver, puedes descargarlo para Windows aquí mismo. Será Windows, Linux, o Mac. Depende del escritorio o del espacio de trabajo en el que se trabaje. Y después de eso, cuando todo se descarga, solo puedes entrar al Visual Studio, que es éste. Y como pueden ver, tenemos una página de bienvenida. Tenemos algunas actualizaciones y luego solo tienes que hacer click en las extensiones aquí mismo. Como puedes ver después de escribir Python, vamos a conseguir que esto sugiere instalarlo y estamos todos a punto de iniciar nuestro curso. De manera que dicho eso, este es el final del video requisitos. Nos vemos en el siguiente. 3. Versión PyQt5: Hola otra vez. Entonces en este video vamos a hablar un poco más sobre Piketty cinco antes de meternos en la codificación y otras cosas. Entonces, en primer lugar, Piketty cinco es un conjunto de encuadernaciones de Python para el marco de aplicación de QT cinco. Entonces sí tenemos la biblioteca QT que es una de las librerías GUI más poderosas es la que tenemos en este momento. Y en realidad este es el sitio oficial de la casa para la pupae Curie five, que es riverbank computing.com. Como podemos ver, desarrollaron por 35 Piketty para y la física de Piketty. Y como puedes ver, puedes seguir adelante y revisar todo el software y otras cosas que tienen aquí mismo. Y Piketty cinco se implementa como un conjunto de módulos Python. Tiene más de cientos de clases y miles de funciones y métodos. Por lo que se puede ejecutar en Windows, Linux y Mac, y en realidad es fácil de instalar. Entonces, antes que nada, sigamos adelante e instalémoslo. Entonces lo que vamos a hacer es ir adelante a nuestro prompt de comando. Y voy a dirigirme a mi escritorio. Ya se creó una carpeta para eso, que es 555 apps. Y después de eso, lo que vas a hacer es simplemente escribir pip3 install por Q-Tip five. Ahora, en mi caso, ya lo instalo, así que voy a conseguir requisitos. ¿ Estoy decidido, satisfecho e indicando que Piketty cinco está disponible en mi escritorio. Y en tu caso, se va a descargar tal como estamos hablando ahora mismo. Y después de eso, lo que vas a hacer es entrar en Visual Studio para iniciar la codificación real. Entonces lo que vamos a hacer al principio es revisar la versión que tenemos para Piketty cinco. Entonces, ¿cómo hacemos eso? Acabamos de tener más en el Visual Studio. Y lo que vamos a hacer es simplemente importar unas cuantas cosas que nos ayudarán sólo conseguir la versión del pastel Cat5 que estamos usando. Por lo que voy a conseguir de Piketty cinco puntos QT core. Vamos a discutir cómo estos más adelante, pero por ahora sólo necesitaremos conocer la distracción. Tan cutie versión, SDR. Y luego vamos a conseguir también de Piketty cinco puntos QT. Vamos a importar la versión de tarta QT. Y por supuesto también STR. Y contesta eso, déjame simplemente corregir este. Y como puedes ver, si seguimos adelante e imprimimos la versión QT y luego seguido por la versión de QT también. Y déjame volver a aquí y sólo escribir Python, nuestro nombre del archivo. Y como podemos ver, tenemos desvíos que tenemos para QT y Piketty, que son 5.15.25.15.4. Este puede no ser el caso para usted. No importa. Sólo necesitamos saber que está instalado y todo está funcionando correctamente. Entonces eso es todo. Básicamente esta es nuestra salida. Y en los próximos videos vamos a empezar con implementar algunas de las funciones y clases que tenemos y discutir sus características. Entonces con eso dicho, este es el final de este video. Nos vemos en el siguiente. 4. 3Date y hora: Hola y bienvenidos de nuevo. En este video, vamos a pasar por algunas de las clases importantes que puedes usar. Y por 55. Y son la fecha de cola, hora de cola, Y Q clases diurnas. Y estas clases son realmente responsables la fecha y hora y fusión entre ellas utilizando las funciones, características, así sucesivamente y así sucesivamente. Entonces en lugar de comenzar con las aplicaciones reales o la construcción real de las cinco aplicaciones Piketty que podemos construir. Pensé por qué no simplemente empezamos con algo simple y que podemos usar n pi 35, esa es la fecha y hora. Entonces, antes que nada, empecemos con importar estas clases. Por lo que los vamos a importar del núcleo QT de cinco puntos de Piketty. Y ya creé una clase datetime dot py. Entonces un guión. Y de éste vamos a importar de Piketty cinco puntos núcleo QT. Vamos a importar tres cosas. Eso es dQ, fecha, Q, perdón, Q. Y entonces también tenemos la fecha de la UCI, hora. Está bien. Entonces ahora tenemos todo lo que necesitamos. Simplemente podemos seguir adelante e imprimirlos. Entonces lo que tenemos que hacer es imprimir la fecha actual de hoy. Entonces, ¿cómo hacemos eso? Simplemente lo voy a imprimir aquí mismo. Por lo que voy a imprimir fecha de cola punto fecha actual. Como podemos ver. Ahora si sigo adelante y abro el símbolo del sistema, lo que vamos a hacer es dirigirnos al escritorio donde tengo la carpeta de aplicaciones de pike ED50. Y luego simplemente voy a ejecutar datetime dot py. Ahora como podemos ver, tenemos lo que necesitamos, que es la fecha actual, que es 2000 21, el mes es 11 y el tiempo es lo siento, el día es el primero de noviembre. Entonces esto es básicamente, es como podemos usar u obtener la fecha actual. Ahora también tenemos dos cosas que podemos usar. Dos métodos, es decir, la fecha ISO o la fecha larga local predeterminada. Entonces los voy a usar a ambos ahora mismo. Entonces lo que voy a hacer es simplemente imprimir la fecha de cola punto fecha actual. Y luego seguido por el toString. Voy a hacer que sea una cuerda. Y voy a usar ahora algo para dar formato a esta fecha actual. Y en realidad es de la clase QT. Entonces, para hacer eso, simplemente voy a conseguir o importar también la clase QT aquí mismo. Y esa es la fecha ISO del punto QT. Entonces como puedes ver ahora, si sigo adelante y, lo siento, déjame simplemente escribirlo. Fecha. Ahora, si seguimos adelante y corremos esto de nuevo, vamos a conseguir que el 2021 11 indique nuestra fecha. Entonces en este formato, y también tenemos el segundo formato, que es la fecha larga local. Y para hacer eso, simplemente vamos a usar también la fecha Q, la fecha actual, y vamos a convertirla en una cadena. No obstante, vamos a usar q t dot default, local, fecha larga. Ahora si seguimos adelante y lo ejecutamos de nuevo, vamos a conseguir algo como esto, que es el lunes 1 de noviembre de 2021. Por lo que estas son solo formas de formatear nuestra salida en una fecha de buen aspecto. Entonces eso es todo. Básicamente, esto es lo primero que vamos a hacer. Es decir imprimir la fecha. Ahora pasemos a algo más sobre el tiempo. Entonces déjame solo comentar esto y ahora lo vamos a hacer es imprimir la hora actual. Entonces, ¿cómo hacemos eso? Voy a simplemente asignar a una variable, la fecha de cola, punto de tiempo. Voy a usar la función datetime actual. Ahora si sigo adelante e imprimo esta vez, cómo lo que vamos a conseguir es algo así, que es la fecha y la hora. Entonces como podemos ver, 2021111. Y esta es la hora real del día, y luego minutos, segundos y demás y demás. Entonces ahora si queremos que se vea un poco más único o un poco más legible. Lo que vamos a hacer es simplemente utilizar la hora actual. Por lo que también tenemos. Algo que es del módulo de la clase del tiempo. Y simplemente imprimir la hora si no necesitamos la fecha. Ahora para hacer eso, simplemente vamos a volver a ejecutar esto. Vamos a comentar esto. Y lo vamos a ejecutar. Como podemos ver, sólo conseguimos el tiempo esta vez. Entonces eso es todo. Básicamente este es nuestro tiempo. Ahora también tenemos algunas funciones para tal vez hacer esto más legible. Entonces, ¿cómo hacemos eso? Simplemente vamos a usar las mismas funciones o los mismos métodos que usamos de la clase QT aquí mismo. Entonces voy a seguir adelante e imprimir tiempo punto toString. Y voy a usar q t dot fecha ISO. Ahora si seguimos adelante y corremos esto de nuevo, vamos a obtener la hora exacta que tiene, esta es la hora, minuto y segundo. Y si lo vuelvo a ejecutar, voy a ver que el segundo está cambiando cada vez que ejecutemos este código. Entonces eso es todo básicamente. Ahora podemos hacer exactamente lo mismo para la variable datetime que creamos antes aquí mismo. Y vamos a conseguir el mismo formato que antes. Ahora, pasemos a otra cosa que es el número de días. Por lo que podemos obtener el número de días en mes particular. Y solo necesitamos usar el método días y mes. Y también podemos obtener el número de días en un año en particular usando el método días en año. Entonces para hacer eso, déjame solo comentar esto. Y como pueden ver, simplemente podemos escribir la hora aquí mismo. Entonces lo que vamos a hacer es imprimir cuántos días tenemos en este mes. Por lo que necesitamos crear el mes o la fecha. Entonces vamos a conseguir el mes en 2 mil a quizás 66. Y cómo conseguir los días y los meses. Por lo que simplemente usaríamos estos y el método del mes. Ahora si seguimos adelante y ejecutamos esto, vamos a conseguir 30, lo que indica que durante este mes tuvimos 30 días. Ahora si queremos usar los días del año, simplemente podemos usar también el mismo formato exacto. Entonces vamos a conseguir esto y vamos a usar el método de días en año. Ahora si seguimos adelante y corremos esto de nuevo, vamos a conseguir 365 indicando que tenemos los a 165 días en el año de 2002. Si lo cambiamos, tal vez consigamos algo más. Lo cambiamos por una vez más. Y como podemos ver, tenemos ahora 366 días y también tenemos 380 días en el mes de junio. Por lo que este conjunto básicamente para las clases de fecha, hora, y fecha y hora. Tenemos muchos métodos y funciones que pueden usar y obtener fechas, horarios, y trabajar con todo este tipo de cosas. Con eso dicho, este es el final de este video. Nos vemos en el siguiente. 5. Botones: Muy bien, así que pasamos a un nuevo tema. Ahora que hemos creado la primera aplicación, podemos pasar a algo un poco más complejo, que es crear botones usando Piketty 5. Entonces lo que vamos a hacer es importar la misma cutie, cutie goo, y qty, que es que lo imponemos antes. Y ahora empecemos con nuestra aplicación. Entonces como antes, vamos a crear la aplicación Q. Y vamos a tomar, esto tiene una discusión. Y luego vamos a crear nuestra ventana, que será esta vez Q diálogo. Y lo vamos a explorar en un minuto. No obstante, lo que vamos a hacer ahora es crear botones. Entonces antes de eso, déjame solo mostrar nuestra ventana y luego por supuesto, etiquetar o ejecutar nuestra app. Entonces para hacer eso, vamos a salir y antes de eso vamos a ejecutar nuestra aplicación. Entonces ahora si sigo adelante y corro esto, vamos a conseguir algo como esto. Entonces lo que vamos a agregar ahora son algunos botones. Y para hacer eso, sólo vamos a necesitar crear un pulsador de cola. Y es muy simple en realidad. Entonces lo que vamos a hacer es crear el botón uno. Y va a ser un pulsador de cola. Y será en la ventana w. y por supuesto, si queremos establecer impuestos en este botón, lo que vamos a hacer es simplemente usar la función SetText. Y podemos decir, por ejemplo, nombre. Ahora si sigo adelante y vuelvo a correr esto, déjame cerrar primero este 1. Ejecutarlo. Y como puedes ver, tenemos un botón y dice nombre como etiqueta de este botón. Entonces ahora lo que vamos a hacer es crear unos botones indicando nombre, tal vez solo nombre una edad por ahora. Entonces lo que vamos a hacer ahora es crear botón a, y también será un pulsador de cubo. Esta ventana. Y el botón 2, tendremos el texto de h justo aquí. Y ahora creo que estamos bien. Entonces si sigo adelante y cierro esto, vuelvo a ejecutar esto, vamos a conseguir algo como H aquí. No obstante, no estamos viendo el impuesto porque esto es demasiado pequeño. Entonces una forma de lidiar con eso, solo tal vez establecemos la geometría para toda la ventana. Por lo que w dot setText establece la geometría en 500 por 500. Entonces tenemos todos los 500. Ahora, si cierro esto y lo vuelvo a ejecutar, vamos a conseguir algo como esto. No obstante, no podemos ver el nombre. Y esto se debe a que el botón de edad está encima del botón de nombre. Y una forma de lidiar con eso es simplemente mover la edad tal vez hasta el fondo. Y para hacer eso simplemente podemos usar botón para movernos, tal vez moverlo un 100 por un 100. Y ahora si sigo adelante y vuelvo a correr esto, así que déjame simplemente cerrar esta carrera. Y como pueden ver, tenemos nombre y edad. Entonces tal vez sólo necesitamos que estén en el mismo eje. Entonces ahora estamos bien. Si queremos hacerlos tal vez justo en medio de la página o algo así. Simplemente podemos moverlo un 100, pero también necesitamos mover el botón uno por un 100 y 0. Entonces ahora vamos a, si sigo adelante y lo ejecuto una vez más, vamos a conseguir algo como esto, indicando el nombre y la edad. Ahora nuestros botones en realidad no hacen nada porque no creamos una función para ellos. Ahora, cuando tenemos una aplicación Piketty cinco, todos estos botones se ejecutan en eventos específicos. Por lo que esta aplicación solo fundamenta cuando el usuario presiona algo. Ahora si presiono el nombre, debería hacer algo. Y si presiono sobre H, ofs también debería hacer otra cosa. Entonces tal vez si presiono un nombre, vamos a imprimir aquí mi nombre. Y si presiono sobre la edad, también debería imprimir el H. Y en este caso, una forma de hacerlo es simplemente usar La función cliqueada que tenemos usando Piketty cinco y sus clases. Y para ello, hay que mencionar que si este botón un punto hizo clic. Entonces si se hace clic en este botón, lo vamos a conectar con una función que vamos a crear y disfunción, tal vez simplemente lo nombramos Botón 1, coleccionamos. Ahora, como pueden ver, esto aún no está definido. Denunciar variables indefinidas. Entonces esto significa que necesitamos crear esta función. Podemos crearlo puede estar aquí. Por lo que simplemente necesitamos crear una función. Vamos a llamarlo Botón 1, clicado. Y esta función simplemente va a imprimir mi nombre. Entonces eso es todo básicamente ahora, si sigo adelante y vuelvo a ejecutar esto, lo que vamos a hacer, lo siento aquí necesitamos solo actualizar esto. Y no se está mostrando porque necesitamos colocarlo antes que éste. Y por supuesto ahora si sigo adelante y esto otra vez, lo que vamos a conseguir es algo así como antes. No obstante, ahora si presiono este nombre de botón, vamos a ver mi nombre aquí. Por lo que cada vez que presione este botón, creará un evento que generará o ejecutará esta función que acabamos de crear aquí. Entonces, ¿cómo lo hicimos? Simplemente utilizamos la función de selección dentro del pulsador de cola. Y va a sólo tres directores a esta función que creamos, y va a imprimir nuestro nombre. Ahora vamos a hacer exactamente lo mismo para el Botón 2. Entonces botón para cobrar. Y vamos a imprimir la H, que es básicamente, déjame escribir una aquí. Y ahora, si voy adelante al bus y uso la colecta que conecta, vamos a conseguir algo como esto. Entonces botón para hacer click. Adelante y corre esto de nuevo. Vamos a conseguir esto. Si presiono una H, vamos a conseguir 21. Si presiono un nombre, vamos a conseguir mi nombre. Entonces eso es todo. Básicamente así es como podemos crear botones y trabajar con botones y bicicleta D5. Entonces dicho eso, este es el final de este video. Nos vemos en el siguiente. 6. disposición/composición/diseño: Hola y bienvenidos de nuevo. Entonces en este video vamos a hablar un poco sobre el posicionamiento y la geometría de las cinco aplicaciones Piketty. Por lo que siempre que creamos una función o una aplicación usando Piketty cinco, necesitamos asegurarnos de que nuestro posicionamiento sea correcto, sobre todo que esta aplicación pueda ejecutarse en diferentes navegadores, monitores y escritorios. Entonces en este caso, permítanme aclarar. Usando una aplicación que podemos crear y que es usando la aplicación Q. Vamos a crearlo de nuevo. Y luego vamos a abrir una ventana desde el widget Q. Y entonces lo que vamos a hacer es crear un simple pulsador. Entonces lo voy a nombrar B, que será un pulsador de cola, y estará en la ventana w. y por supuesto vamos a poner el texto en primero. Y vamos a moverlo un poco por 50 por 50. Y creo que estamos bien. Lo que vamos a hacer ahora es simplemente mostrar esta ventana y por supuesto ejecutar la aplicación. Entonces con eso que se dice, si voy adelante y corro esto, voy a conseguir algo como esto. Entonces tenemos nuestro pulsador que es primero y esta es nuestra ventana. Ahora, observe que esta ventana surgió alrededor de la mitad de la página. Y si queremos establecer la geometría, por ejemplo, o para una ventana, vamos a utilizar la función de geometría SAT. Y esta función tomará cuatro parámetros. Lo hemos usado antes, pero ahora vamos a discutirlo. Por lo que los dos primeros parámetros son en realidad la posición n, el monitor o donde va a aparecer nuestra aplicación. Entonces si digo 10 por 10 , aparecerá usando el eje x e y aquí. Entonces este es el eje x y el eje y. Por lo que va a aparecer a la vuelta de esta esquina aquí. Y por supuesto, tenemos que seguir con los otros dos parámetros. Y son la altura y anchura de nuestra aplicación de nuestra ventana. En este caso, si indico que necesito un 100 por un 100. Ahora si cierro esto, Vamos a ejecutarlo de nuevo. Vamos a conseguir algo como esto. Entonces como podemos ver, surgió y la esquina, y tiene 200 por 200 como altura y ancho. Ahora en este caso, si tal vez lo muevo un poco, 50 por 50, vamos a conseguir algo como esto. Como podemos ver, lo movemos un poco a la derecha y al fondo de la pantalla. Entonces eso es todo. Básicamente esta es la función de geometría de conjunto y cómo podemos usarla. Ahora, cada vez que fijamos esta posición para que sea absoluta. Entonces estamos estableciendo las alturas con y la posición de nuestra ventana. No es un enfoque muy bueno porque no es adecuado para la ventana siempre que necesitemos redimensionarla. Entonces, en otras palabras, si cambiamos el tamaño de una ventana, la posición de los widgets no cambia. Y esto es un problema. Ahora, una segunda cosa a tomar en consideración es que tenemos diferentes dispositivos de pantalla que podemos usar o podemos usar esta aplicación en. Entonces en este caso, tal vez la dimensión de la pantalla, tal vez diferente de las dimensiones de otras pantallas. Y esto puede afectar nuestra aplicación y es en general padres. Y por último, siempre que queremos modificar o mejorar nuestra aplicación, es bastante difícil elegir diferentes tamaños, tal vez diferentes posiciones en este caso. Por lo que todos estos tomados en cuenta se consideran un problema muy grande cada vez que usamos el posicionamiento absoluto, como lo hicimos aquí con el ajuste de la geometría. Por lo que para mejorar esto, tenemos diferentes clases de diseño para gestionar la posición de nuestros widgets dentro de la pantalla, dentro de nuestros contenedores. Y tienen quizás más ventajas que esta clase de geometría lateral. Y en este caso, se asegurará que esta apariencia que tenemos se lleve a cabo en todos los dispositivos de visualización sin importar cuáles sean las resoluciones. Y por supuesto, cada vez que cambiemos el tamaño de nuestro widget, se redimensionará automáticamente la aplicación o la ventana . Entonces vamos a abordar una lista de clases que nos pueden ayudar a hacerlo. Y el primero va a ser la clase de diseño de caja cubo. Y esto nos ayudará arreglando los widgets vertical y horizontalmente usando caja QV y el diseño de caja Q H. Y lo vamos a abordar ahora. Así que déjame seguir adelante y crear un nuevo guión aquí. Entonces lo voy a nombrar Q, box, layout dot py. Entonces, empecemos con las imputaciones. Entonces voy a volver a Layout, copiar estos, y pegarlos aquí mismo. Entonces ahora lo que vamos a hacer es empezar con la aplicación. De hecho, permítanme simplemente copiar este desde aquí para ahorrar tiempo. Y ahora lo que vamos a hacer es crear dos botones. Entonces lo voy a nombrar Botón 1, y será q pulsador como de costumbre. A lo mejor la sed y el botón 2. 2 también será q pulsador y va a ser segundo. Ahora lo que vamos a hacer es usar el diseño de caja QV. Y lo que voy a crear como variable v para el VBox. Y lo voy a asignar al diseño Q VBox. Y lo que vamos a hacer es agregar los botones a esta caja. Entonces, ¿cómo hacemos eso? Simplemente llamamos a V y vamos a utilizar la función Añadir widget. Vamos a añadir el botón uno. Y entonces lo que vamos a hacer también es agregar el segundo widget, que es el botón 2. Ahora bien, si notamos que en el layout dot py, siempre que establecemos esta geometría de conjunto en posiciones absolutas. Si seguimos adelante y quizá cambiemos esto. Como puedes ver, el botón seguirá estando en la misma posición. Hagas lo que hagamos, va a estar en la misma posición. Y esto no se ve bien. Y básicamente son unas aplicaciones de aspecto horrible ya que no podemos cambiar la posición del botón sin importar lo que hagamos. Entonces lo que vamos a hacer ahora es crear esta caja y agregarle estiramientos. Entonces, ¿cómo hacemos eso? Necesitamos usar el add stretch. Y si sigo adelante ahora y corro esto, lo que vamos a conseguir es algo similar al anterior. No obstante, agregamos una caja estirable vacía entre estos dos botones. Entonces si sigo adelante ahora y configuro el diseño de la ventana que tenemos a esta caja que creamos. Por lo que vamos a utilizar la función de diseño del SAT. Y va a ser este V. Por supuesto que después de eso, lo que vamos a hacer es mostrar esta ventana como antes y salir ejecutando la aplicación. Entonces eso es todo básicamente ahora si sigo adelante y corro dos box layout dot py, vamos a conseguir algo como esto. No obstante, esta vez, si aumento el tamaño de esta aplicación, también se van a incrementar los botones. Y como podemos ver, tenemos la diferencia entre ellos porque agregamos una caja estirable vacía justo aquí. Entonces no lo podemos ver, pero tenemos una caja estirable vacía entre estas dos clases. Por lo que siempre que aumentemos el tamaño, siempre va a ser el primer botón en la primera posición de la página. Y luego vamos a tener el segundo botón y la parte superior o inferior de la página. Entonces eso es todo. Básicamente así es como podemos usar el diseño de caja QV y manipular estos botones y cambiar dinámicamente la posición y tamaño. Entonces eso es todo básicamente para el cuadro QV, es decir crear un cuadro elástico vertical entre estos dos, tal vez dos botones. Ahora, lo que vamos a ver es la caja QH, es decir agregar una vertical o lo siento, una caja horizontal entre estos dos botones. Entonces, ¿cómo hacemos eso? Simplemente creamos un conjunto de la VBox. Vamos a crear una caja H. Entonces, ¿cómo hacemos eso? Déjame crear aquí, en lugar de la caja QV, voy a tener caja QH. Si sigo adelante y vuelvo a correr esto, vamos a conseguir algo como esto. Y esta vez, si aumento la altura, lo siento, el ancho de la aplicación, vamos a ver algo parecido a antes. Entonces eso es todo. Básicamente así es como podemos usar el diseño de caja QV y QH para mejorar nuestra experiencia con Piketty cinco. Ahora otra clase es el diseño de cuadrícula. Y esta clase nos va a permitir crear una cuadrícula y añadirla a nuestra ventana. Entonces, ¿cómo hacer eso? Acabo de crear el diseño de cuadrícula QC ese pastel, publiqué toda la importación anterior. Y ahora podemos empezar con nuestra función. Entonces lo que vamos a hacer es copiar el anterior aquí. Y entonces lo que vamos a hacer ahora es crear una cuadrícula usando el diseño de cuadrícula QC. Entonces voy a tener que crear una cuadrícula a partir del diseño de cuadrícula Q. Entonces lo que vamos a hacer es llenar esta cuadrícula usando widgets. Por lo que los widgets van a ser q pulsadores. Entonces podemos o tal vez especificar un botón querer ser tal vez solo q, pulsador de nombre. A lo mejor sólo Botón 1, luego botón a la cola. Pulsador, botón a voy a tener tres o cuatro q pulsador. Tan lindo pulsador de beta3 y Botón 4, que va a ser también q botón pulsador para. Entonces eso es todo básicamente ahora déjame solo actualizar esto. Y ahora tenemos creamos todos los botones que necesitamos. Ahora lo que vamos a hacer es agregarlos a nuestra grilla. Entonces, ¿cómo se hace eso? Simplemente agregamos a la cuadrícula un widget, que es básicamente Botón 1. No obstante, necesitamos precisar la posición. Por lo que la primera posición va a ser 11. Y luego vamos a añadir también widget. Y va a ser el botón 2 de posición. A lo mejor quieres leer ese widget de agregar, botón tres, tal vez 21. Y luego lee que agregar widget Botón 4 a 2. Entonces eso es todo básicamente ahora creó nuestra grilla. Tenemos que agregarla a nuestra ventana. Entonces, ¿cómo se hace eso? Tenemos que establecer el diseño de una ventana como antes para ser esta cuadrícula. Anteriormente usábamos set layout para ser este vBox. Ahora vamos a ponerla para que sea esta grilla que acabamos de crear. Después de eso, vamos a establecer la geometría. Y por supuesto, puedes elegir lo que queramos. Prefiero ir por 500s. Ahora si sigo adelante y muestro esto y arriba y arriba la aplicación, así app.py ejecutar. Y vamos a ver algo como esto. Entonces eso es todo. Básicamente tenemos cuatro botones. botón uno no estaba tan mal y tres puntero cuatro. No obstante, esta vez son dinámicas por lo que cambian cada vez que creamos o movemos y redimensionamos nuestra aplicación. Entonces, ¿cómo hacemos eso? Simplemente creamos una cuadrícula usando el diseño de cuadrícula dequeued. Creamos nuestros pulsadores y luego los agregamos a esta cuadrícula. Y después de eso, configuramos el diseño de nuestra ventana para sea este crédito real que acabamos de crear, que muestra la geometría con la que vamos a ir al principio. Pero siempre podemos manipular o cambiar y cambiar el tamaño de la aplicación como queramos. Entonces eso es todo básicamente para esta clase, todavía tenemos una clase que vamos a abordar en el siguiente video. Nos vemos entonces. 7. Diseño de formas: Muy bien, Así que hola y bienvenidos de nuevo. En este video, vamos a continuar con nuestras clases de capas fuera. Y también tenemos la clase final, que es la clase de diseño de formularios. Y en esta clase vamos a discutir cómo agregar filas a los widgets que tenemos. Entonces, empecemos con la creación de nuestra clase de diseño de formulario de cola. En este caso, lo que voy a hacer es simplemente el nuevo script, nombrelo q forma, layout dot py. Entonces ahora que tenemos todo lo que necesitamos, con lo que voy a empezar es crear una etiqueta. Y para hacer eso, voy a nombrarlo etiqueta uno. Y en este caso, voy a usar la etiqueta de cola. Y tal vez sólo necesitamos el nombre de pila de la persona. Y entonces lo que vamos a hacer es crear nuestro diseño de forma pura. Entonces lo voy a nombrar para el diseño. Y va a ser q para maquetación. Y lo que vamos a hacer es agregar esta etiqueta al diseño del formulario. Entonces, ¿cómo hacemos eso? Simplemente a la derecha diseño de forma, punto agregar fila. Y en esta fila vamos a añadir esta etiqueta uno. Ahora si sigo adelante y corro esto, lo siento, corrimos el viejo problema. Voy a ejecutar q para layout dot py. Y vamos a conseguir k Así que nos olvidamos de mostrar la ventana que acabamos de crear. Entonces para hacer eso, tenemos que mostrarlo aquí. Y por supuesto tenemos que salir ejecutando la app, así que dot ejecutar como antes. Y por supuesto, necesitamos agregar o establecer el diseño de la ventana para que sea este diseño de formulario que acabamos de crear. Por lo que se puede decir que W dot layout para ser deformado diseño creado antes, así sucesivamente, diseñar. Y ahora estamos bien. Entonces si sigo adelante ahora y vuelvo a ejecutar esto, vamos a ver algo como esto indicando que tenemos FirstName como etiqueta. Ahora lo que vamos a hacer es agregar tal vez una entrada donde el usuario pueda agregar su FirstName. Y en este caso, lo que vamos a hacer es simplemente agregar después de la etiqueta y para agregar otra línea, solo necesitamos dejar editar una variable de entrada 1 a b de q line. Y ahora cada vez que agregamos la fila dos, este diseño de formulario. Entonces aquí hemos etiquetado uno y vamos a añadir entrada uno como tal. Entonces si sigo adelante y vuelvo a ejecutar esto, vamos a conseguir algo como este FirstName y donde el usuario también puede editar o agregar su nombre de pila. Ahora vamos a hacer exactamente lo mismo para el apellido. Por lo que tal vez etiquetado dos será igual a q etiqueta y apellido. En este caso, vamos a necesitar una entrada dos de q line en él también. Y por supuesto, después de crear el diseño del formulario e insertar las primeras etiquetas e entradas, también vamos a agregar una nueva fila, en este caso para etiquetada dos y entrada 2. Entonces eso es todo básicamente ahora si sigo adelante y vuelvo a ejecutar esto, vamos a conseguir algo como este FirstName, LastName, y así sucesivamente. Entonces ahora lo que vamos a hacer es agregar tal vez más información sobre esta persona. No obstante, tal vez una línea no quepa. Entonces lo que vamos a hacer es fusionar algo de una clase anterior, que es dQ box. Y en este caso vamos a utilizar el estiramiento vertical para la caja. En este caso, permítanme seguir adelante y añadir una etiqueta tres, indicando que puede ser información extra. Por lo que información extra. Y en este caso, necesitamos una entrada del usuario que consta de dos líneas, por ejemplo. Entonces entrada 3, uno va a ser DQ line Edit. Y luego la entrada 3, 2 va a ser una línea de cola diferente agregada a. Así Q line edit. No obstante, necesitamos fusionar estas dos a una caja. Entonces, ¿cómo se hace eso? Vamos a crear una caja. Y será de, por supuesto, el diseño de caja QV ya que necesitamos tenerlos verticalmente. Entonces Q, el diseño de caja. Y lo que vamos a hacer es agregar estos dos insumos a esta caja. Y después de eso, necesitamos agregar todos estos libros al diseño de formularios que acabas de crear. Entonces, ¿cómo se hace eso? Simplemente utilizamos la función Añadir widget que tenemos que introducir 31. Y entonces también necesitamos agregar la entrada 32. Ahora en este caso, tenemos nuestra caja que consta de dos entradas del usuario que están verticalmente en la pantalla. Entonces lo que vamos a hacer ahora es agregar un Euro dentro de este diseño de formulario que consiste en la etiqueta tres y toda esta caja aquí. Entonces eso es todo básicamente ahora, si sigo adelante y vuelvo a ejecutar esto, voy a conseguir algo así, indicando que tenemos FirstName, LastName, y tenemos información extra de cajas de herramientas. Y como pueden ver, si cambio el ancho, les redimensionará. Entonces eso es todo básicamente ahora lo que podemos hacer tal vez es hacer que el usuario elija entre dos categorías. Y en este caso, podemos usar la caja como horizontal para colocar las categorías en. Aquí, por ejemplo, tenemos la categoría uno y la categoría dos. Por lo que podemos usar el botón de radio si queremos. Ellos usuarios a elegir sólo una categoría. Entonces en este caso, lo que voy a hacer es crear una nueva etiqueta indicando tal vez el tipo de categoría. Entonces para hacer eso, lo que voy a hacer es simplemente crear una nueva etiqueta para, que será Q label de tipo de categoría. Y después de eso, voy a crear una nueva caja, sin embargo, necesitábamos horizontalmente esta vez. Entonces voy a tener caja H indicando esa caja horizontal. Y va a ser Q H box layout. Y necesitamos agregar widgets. Y en este caso, lo que vamos a agregar es el botón de radio Q. Y este es uno nuevo que vamos a explorar ahora. Por lo que vamos a agregar q botón de radio, y será Categoría 1. Y luego vamos a añadir un nuevo widget. Lo siento, aquí tenemos caja H en ambos casos. Y vamos a añadir q botón de radio de categoría 2 en este caso. Y ahora después de crear este cuadro H, lo que tenemos que hacer es agregar el estiramiento. Y en este caso, simplemente podemos hacerlo usando caja H que agregan estiramiento. Y por supuesto después de eso, lo que vamos a hacer es simplemente agregar todas estas etiquetas y caja en el diseño del formulario que acabamos de crear. Entonces diseño de forma que agregan fila. Vamos a tener la etiqueta para. Y luego vamos a tener la entrada o la caja H que acabamos de crear. Entonces si sigo adelante y vuelvo a ejecutar esto, vamos a conseguir algo como esto, indicando la categoría tipo, categoría uno y categoría dos. Ahora recordemos que solo usamos este agregamos estiramiento con el fin de, si aumentamos tamaño para tener esta categoría uno y categoría dos. Y el usuario sólo puede elegir un tipo ya que optamos por tener un botón de radio. Y esto asegurará que el usuario elija una y sólo una categoría. Entonces eso es todo básicamente ahora solo podemos agregar botones tal vez para que el usuario envíe el formulario. Entonces déjame hacerlo aquí mismo. Entonces lo que vamos a agregar es un nuevo botón. Entonces voy a crear una nueva fila aquí. Entonces diseño de forma que agregan fila. Voy a añadir un pulsador de cubo. En este caso dirá, presentar el formulario. Ahora si sigo adelante y vuelvo a correr esto, vamos a conseguir algo como esto. Presentar el formulario. Y por supuesto, también podemos agregar otro pulsador de cola tal vez para cancelar este formulario. Por lo que podemos decir Cancelar aquí. Ahora, si voy adelante y corro este, dispara tiempo, Vamos a conseguir algo como esto, enviar el formulario y cancelarlo. Tenemos FirstName, LastName, información extra, y el tipo de categoría aquí mismo. Entonces eso es todo básicamente para la cola para un layout. Con eso dicho, este es el final de las clases de maquetación que tenemos. Exploramos la caja de cubo, la cuadrícula de cubo y la forma q de esto nos ayudarán a construir cinco aplicaciones pi QT más adelante cuando las cosas se complican. Entonces eso es todo básicamente para este video, con eso dicho, este es el final del mismo. Y nos vemos en el siguiente. 8. Etiqueta: Hola y bienvenidos de nuevo. En este video, vamos a hablar de brujas. Ya has visto algunos de ellos como la etiqueta, la línea, editar, el pulsador, y el botón de radio. Ahora en este video vamos a discutir algunos de estos y luego vamos a descubrir otros nuevos. Entonces con lo que vamos a empezar es la Q mano de obra que hemos utilizado antes aquí mismo. Entonces primero voy a crear una etiqueta de cola que Py Script. Y dentro de esto, vamos a trabajar con la clase obrera Q. Entonces lo primero que voy a hacer es solo importar todo lo que tenemos aquí mismo, este nuevo guión. Y lo que voy a hacer también es iniciar la aplicación con la ventana que necesitamos crear. Y por supuesto voy a mostrar la ventana con la ejecución de la aplicación al final. Entonces esto es para la configuración. Ahora lo que vamos a hacer es crear nuestros trabajos. Por lo que tenemos dos métodos para crear la etiqueta. Por lo que o bien lo nombramos etiqueta uno y simplemente creamos la mano de obra de cola aquí mismo. Y luego después de eso, podemos poner el texto de esta etiqueta en, por ejemplo, etiquetarán una. Ahora el segundo método es realmente por qué crear la etiqueta dq, acabamos de establecer el texto dentro de él como un parámetro o un argumento como este. Entonces eso es todo básicamente, no, él va a tener un estrecho y ahora estamos bien. Por lo que estos son los dos métodos principales que puedes hacer para crear esto. Ahora lo que podemos decir es, déjame solo ejecutar el guión y mostrarte. Entonces si ejecuto Python q etiquetado dot py, vamos a conseguir algo como esto. No obstante, no agregamos estos al script real de Python ni a la ventana, por lo que solo necesitamos hacerlo aquí. Entonces como puedes ver, tenemos la etiqueta uno que creamos q label. Tenemos que agregar el parámetro o argumento W, indicando que esta etiqueta está en esta ventana w Ahora si sigo adelante y ejecuto este script, voy a conseguir está etiquetado uno dentro de nuestra ventana justo aquí. Ahora si queremos agregar etiqueta a lo que realmente podemos hacer es mientras creamos la etiqueta de cola y agregamos el nombre, podemos agregar un nuevo argumento indicando la ventana que necesitamos. Ahora si sigo adelante y lo vuelvo a ejecutar, nos van a etiquetar uno. Y como pueden ver, tenemos dos encima de la etiquetada. Entonces para que se vea mejor, podemos etiquetar a la mudanza tal vez 50 por 50. Y por supuesto necesitamos establecer la geometría de esta ventana en algo como esto. Y como puedes ver ahora si sigo adelante y vuelvo a correr esto, vamos a conseguir la etiqueta uno y etiquetar dos como se esperaba. Ahora bien, si solo quieres mover las etiquetas y queremos elegir sus posiciones, en realidad podemos hacerlo usando el VBox del que aprendimos antes. Entonces, ¿cómo hacemos eso? En primer lugar, antes de crear esta etiqueta y colocarla en la ventana, sólo vamos a crear una mano de obra sin colocarla en ningún lugar. Por lo que tenemos estas dos etiquetas. Ahora lo que vamos a hacer es simplemente fijar las alineaciones de esta mano de obra. Por lo que la etiqueta uno será de alineación. Y voy a usar el punto q t. Y tenemos una función llamada centro de alineación. Tan alineado centro. Y voy a necesitar que la etiqueta se establezca a la derecha, así q t punto alineado. ¿ Verdad? Ahora lo que vamos a hacer es crear nuestra caja con el fin de contener estas etiquetas. Entonces lo que podemos decir es que la caja va a ser igual al diseño q vBox. Y entonces esta caja va a tener la etiqueta uno y también etiquetada 2. Ahora bien, si queremos, podemos sumar el tramo entre ellos. Por lo que como antes, podemos agregar estiramiento. Y ahora estamos bien. Lo que podemos hacer también es simplemente mostrar o configurar el diseño de la ventana para que sea esta caja. Entonces, ¿cómo se hace eso? Simplemente puedes escribir w dot set layout y vamos a añadir cuadro en él. Entonces ahora si sigo adelante y vuelvo a ejecutar esto, vamos a conseguir algo como esto. Por lo que tenemos la etiqueta uno en el medio y etiquetada a la esquina superior o inferior derecha justo aquí. Y esto se debe al estiramiento entre estos dos vecinos y por supuesto al alineamiento o al alineamiento del SAT a la derecha para el trabajo 2. Ahora si elimino esto por ejemplo, y vuelvo a ejecutar esto, vamos a conseguir algo como esto. Entonces como puedes ver, etiquetado dos no está en la esquina superior o inferior derecha y la etiqueta uno no es el centro superior de la pantalla. Entonces eso es todo. Básicamente esto es lo que hace el estiramiento y por supuesto, también se necesitan las alineaciones establecidas para obtener la salida deseada. Entonces esto es básicamente para la clase obrera. Con eso dicho, este es el final de este video. En el siguiente video vamos a discutir la edición de la línea Q. Entonces nos vemos. 9. Edición de línea: Bienvenido de nuevo. En este video vamos a discutir la clase de edición de línea Q. Entonces en primer lugar, antes de empezar, permítanme volver a un guión anterior y copiar todos estos. Voy a pegarlos aquí y las líneas finales justo aquí. Ahora ya estamos bien para irnos. Lo que vamos a hacer es empezar con la creación de una edición de línea. Entonces le voy a nombrar entrada. Se va a agregar una línea q. Y lo que vamos a hacer es usar algunas funciones que están disponibles para nosotros dentro de la línea en ella clase. Entonces, antes de hacerlo, déjame solo ejecutar este guión. Y como podemos ver, no tenemos nada en ella porque no agregamos esta línea añadida al diseño de la ventana. Ahora una forma de hacerlo es simplemente agregar algunas filas en el diseño Formulario. Y dentro de estas filas vamos a sumar estas ediciones. Entonces, para hacer eso, simplemente voy a crear diseños predeterminados aquí mismo. Voy a nombrarlo forma layout Q para maquetación que hemos usado antes. Y luego le vamos a sumar una fila. Y dentro de esta fila voy a tener el de entrada. Y por supuesto antes de mostrar dos ventana, necesitamos establecer el diseño para sea esta fórmula que acabamos de crear. Ahora si vuelves atrás y vuelves a ejecutar esto, vamos a conseguir algo como esto indicando que el usuario puede usar esta entrada o puede ingresar la entrada que quiera. Ahora lo que vamos a hacer es modificar o mejorar esta edición de línea. Ahora una forma de hacerlo es especificar la longitud máxima, por ejemplo, o establecer la alineación de esta entrada. Entonces vamos a trabajar con múltiples funciones. Lo primero que vamos a hacer es comprobar si esta entrada es un entero o no. Entonces lo que podemos hacer es en realidad tratar de poner uno, ese validador final. Entonces vamos a usar el validador de set. Y dentro de esto vamos a usar DQ y validador. Entonces, lo que realmente hace esta función es que permitirá al usuario entrar solo entero. Entonces como ejemplo, si sigo adelante y vuelvo a ejecutar esto, vamos a conseguir esto. Ahora, estoy tratando de escribir y descomponer, pero algunas letras, no aparece nada en esta entrada. No obstante, si escribo algunos números, van a conseguir esto. Ahora, como pueden ver, tenemos tantos números si queremos limitarnos sólo a dos números, por ejemplo, podemos establecer la longitud máxima de este y 22. Entonces, ¿cómo se hace eso? Vamos a usar la entrada, la longitud máxima establecida en dos. Ahora si voy adelante y corro, otra vez, voy a conseguir algo como esto. Ahora escribí algunos números, sin embargo, estoy tratando ahora de escribir algunos más, pero no lo tomará. Entonces esto es básicamente para verificar el entero. También podemos establecer la alineación tanto para el centro, la izquierda, o la derecha. Lo hicimos antes. Ahora en lo que nos vamos a centrar son algunos números de flotación. Entonces voy a crear otra entrada, que es entrada dos, Q line edit. Y dentro de esto, vamos a crear un validador de conjunto de doble. ¿ Y cómo hacemos eso? Vamos a hacer exactamente lo mismo que hacíamos antes. Set validador, ahora un conjunto de Q y facilitador, voy a usar el q doble validador. En este caso, comprobará si se trata de un doble entre dos números. Voy a tal vez sólo poner 0 y 100 por un 100. Ahora, quiero tener cinco dígitos después del punto decimal. Por lo que estos son los dígitos máximos en voz alta. Ahora si sigo adelante y lo agrego al diseño del formulario, que agregan fila, vamos a agregar entrada dos. Y por supuesto un expediente. Adelante y ejecuta de nuevo este código. Voy a conseguir algo como esto. No obstante, esta vez aquí, puedo tal vez al 33 punto, si presiono 66666. Ahora si sigo presionando sobre el sexo, no pasará nada porque especificé que necesito sólo cinco números después de los decimales. Entonces aquí son cinco números. Ahora y ahora, cada vez que intente presionar algunos números más, no pasará nada porque este es el máximo que tengo permitido usar. Entonces esto es todo para los datos q de doble valor. Ahora pasemos a algunas otras funciones. También tenemos alguna línea agregada o una entrada para contraseñas. En este caso, lo que podemos decir es que necesitamos una nueva edición de la línea Q. Y dentro de esto, vamos a crear un modo Eco set. Y vamos a usar la línea Q, agregó esa contraseña. Y después de eso, podemos añadirlo al diseño predeterminado. Será el tercero. Y vamos a remar, y esto es empatía. Ahora si sigo adelante y corro esto, vamos a conseguir algo como esto. No obstante, siempre que escriba dentro esta entrada o q edición de línea, no se mostrará porque se trata de contraseña, que no se supone que se muestre. Ahora, otra función sería el texto de sólo lectura. Y en este caso, permítanme simplemente crear una entrada para y será la línea Q a un dos. Entonces voy a crear edición de línea de cola. Y por supuesto que vamos a establecer sólo lectura. Será igual a cierto. Ahora si sigo adelante y lo agrego aquí, diseño del formulario, pero agrego fila. Vamos a sumar la entrada para. Ahora lo que vamos a hacer es simplemente volver a ejecutar esto. Y aquí no estamos viendo nada, sin embargo, podemos intentar hacerlo. Entonces si configuro la etiqueta o el SAT detecta dentro de esta edición de diapositivas, lo que podemos hacer es establecer tareas en esto como solo lectura. Cierra esta carrera. Como podemos ver, conseguimos esto como de solo lectura y en realidad no podemos hacerlo bien porque configuramos la función de solo lectura en verdadera. Y esto no permitirá al usuario agregar o cambiar este texto aquí mismo. Ahora sí tenemos también algunas otras funciones. Entonces, por ejemplo, si queremos ver el texto y en la entrada, podemos imprimirlo usando input para el texto. Entonces si sigo adelante y ejecuto esto, vamos a conseguir algo como esto es de sólo lectura, lo que indica que esto es detecta una entrada para. Ahora, otra cosa a tomar consideración es la fuente que estamos usando. Para que puedas cambiar la fuente y el tamaño de píxel. Y una forma de hacerlo es simplemente usar la función set. Y es necesario especificar la fuente y el tamaño de la fuente. Por ejemplo, aquí vamos a usar 12 y Arial. Si sigo adelante, corro esto otra vez, vamos a llegar, así que aquí tenemos un error. Déjame sólo comprobarlo. Muy bien, así que aquí dentro de esta fuente, necesitamos crear o usar una fuente de cola aquí. Y ahora estamos bien, déjame correr otra vez. Y sí, así que esta es la fuente y el tamaño cambia de antes. Entonces eso es todo. Básicamente tenemos tantos métodos y funciones dentro de esta línea de edición, pero estos son los más importantes que podemos usar en nuestro pastel podrían tener cinco aplicaciones más adelante. Entonces dicho eso, este es el final del video agregado de la línea de cola. Nos vemos en el siguiente. 10. Botón de radio: Muy bien, entonces en este video vamos a discutir otra clase que es la clase de botón de radio Q. Para ello permítanme simplemente crear un guión. Voy a ponerle el nombre Q botón de radio por. Y lo que vamos a hacer es crear o importar lo mismo que hicimos antes. Entonces lo que vamos a hacer es crear una aplicación. Y voy a usar un widget para este. Entonces voy a llamarlo W. Y tal vez simplemente copiaré esto desde aquí con todos estos. Entonces déjame solo seguir adelante aquí. Y ponemos q, cuál es, y obtenemos. Entonces ahora si sigo adelante y corro esto aquí mismo, y vamos a conseguir Python, califica tu botón dot py. Vamos a conseguir algo como esto, que es una ventana vacía. Ahora lo que vamos a hacer es crear nuestros botones. Y en este caso, habrá de botón de radio tipo q. Por lo que el Botón 1 será el botón de radio Q. Y lo voy a nombrar primero. Entonces lo que Into también será Q botón de radio. Y este será el segundo. Ahora lo que vamos a hacer es crear una especie de caja para agregarlas. Y por lo general los botones de radio vienen de manera horizontal. Entonces lo que vamos a hacer es crear una caja que sea horizontal usando el diseño de caja QH. Y como podemos ver después de conseguir estos botones, lo que vamos a hacer es simplemente añadirlos a la caja por la caja Como función. Y vamos a añadir el Botón 1. Entonces también vamos a agregar botón también. Y por supuesto, después de terminar con esto, lo que vamos a hacer es simplemente volver a ejecutar esto. Pero antes de hacerlo, lo que realmente necesitamos hacer después de crear estos botones es simplemente establecer retraso fuera de nuestro widget o nuestra ventana en esta caja. Entonces, ¿cómo se hace eso? Vamos a usar la función set layout desde las palabras clave, la clase, y vamos a configurarla para que sea esta caja. Ahora si sigo adelante y cierro esto, lo vuelvo a ejecutar, vamos a conseguir algo similar a esto. Tenemos dos botones. Primero, segundo, y debido a que son botón de radio, sólo podemos elegir uno. Entonces vamos a alterar entre ellos. Ahora lo que vamos a hacer es poner a uno de ellos. Y vamos a establecer el primer botón en este caso, para hacerlo, simplemente podemos usar la S marcada. Por lo que es una función, de hecho botón de radio. Y voy a ponerlo en realidad. Y ahora si sigo adelante y lo ejecuto, nuevo, vamos a conseguir algo. De acuerdo, entonces sí tenemos un error. Entonces estoy usando tal acto en lugar de Es geht. Ahora corre, vamos a conseguir el primer segundo, y esta vez nos pusimos el primer set desde el principio. Ahora lo que vamos a hacer es simplemente crear una función para saber qué botón es realmente chatear ahora mismo. Entonces para hacer eso, empecemos con la creación y la función D, lo vamos a nombrar, tal vez sólo la función radial. Por simplicidad, lo voy a poner aquí. Por lo que tenemos función de radio. Y esta función se encarga de saber o de hacernos saber qué botón se comprueba. Por lo que va a tomar el botón como parámetro. Y tomará, o comprobará si el texto es igual al primer botón, que es primero. Entonces si es igual a primero, vamos a imprimir que este primero es el botón seleccionado. Y si este no es el caso, entonces seguramente como el segundo. En este caso vamos a imprimir segundo es los botones seleccionados. Ahora para fusionar esta función o para usar esta función con nuestros botones, lo que realmente necesitamos hacer es usar el toggled, mi método y nuestra clase do botón de radio. Entonces para hacer eso, pero tenemos que hacer aquí es agregar Botón 1 punto, toggled dot connect a la función radial que acabamos de crear. Vamos a usar lambda. Y tomará crear tu función y tendrá abajo uno es parámetro. Vamos a hacer exactamente lo mismo para el botón 2. Vamos a usar lambda aquí, ¿verdad? Funcionas. Y tomará botón a, en este caso. Ahora lo que dijimos aquí es que necesitamos comprobar si el botón está alterado. Vamos a ejecutar esta función usando el Botón 1 para imprimir primero es el botón seleccionado. Y si el botón 2 es el que se altera, vamos a imprimir. En segundo lugar está el botón seleccionado porque le hemos dado botón a como parámetro. Y aún tenemos una cosa más que considerar y a la que prestar atención en nuestro código es que cada vez que se alterna entre estos dos botones, o bien vamos de uno a dos o dos a uno. Por lo que estas dos funciones se van a ejecutar. Y en este caso lo que vamos a hacer es comprobar al principio si detects es igual a primero. Esto significa que esta es nuestra primera función o nuestro primer botón. Y en este caso, lo que vamos a necesitar hacer es comprobar si el botón está marcado. Entonces si este es el caso, vamos a imprimir que este botón está seleccionado, y si no, vamos a imprimir que no está seleccionado. Entonces, ¿cómo se hace eso? Simplemente podemos comprobar si este botón está marcado, vamos a usar el objeto aquí mismo. Entonces si b está comprobado, vamos a decir si esto es cierto, vamos a imprimir este. Y si este no es el caso, vamos a imprimir eso. En primer lugar, se desselecciona. El seleccionado. Y vamos a hacer exactamente lo mismo aquí mismo. Entonces si se comprueba b, vamos a imprimir que este es el botón seleccionado. Y si este no es el caso, vamos a imprimir ese segundo es el seleccionado. Entonces lo que realmente hicimos aquí es que cada vez que presionamos un botón de radio, estas dos funciones se van a enfriar porque estamos abordando del botón uno a dos horas de dos a uno. Y por supuesto, si estas dos funciones se van a enfriar, vamos a empezar con el Botón 1, que está aquí mismo. Entonces supongamos que estoy en el botón uno y presioné en el segundo justo aquí. Lo que realmente hicimos es llamar a estas dos funciones aquí mismo. Y estas dos funciones van a ser llamadas usando los parámetros específicos. Entonces aquí tenemos nuestro botón, uno justo aquí, así que déjame tenerlo aquí, ¿de acuerdo? Muy bien, entonces vamos a conseguir el Botón 1 aquí. Y va a comprobar si el texto es igual a primero. Sí, lo es. Se va a entrar en esta condición. Ahora vamos a comprobar si B está comprobado. Tenga en cuenta que este no es el caso porque el Botón 1 no está marcado. Nos cambiamos de botón, queremos hacer el botón 2 que ahora está comprobado. Por lo tanto, el Botón 1 no está configurado. Vamos a imprimir primero se desselecciona. Entonces vamos a pasar a la segunda función, esa es ésta. Botón dos, vamos a conseguir botón a como parámetro. Entonces vamos a entrar a esta condición y vamos a comprobar si el botón 2 está marcado. Si este es el caso, que es correcto, vamos a traer ese segundo es el botón seleccionado. Entonces vamos a probar set. Si sigo adelante ahora y ejecuto este código, vamos a conseguir esto. Y así podemos ver que estamos al principio ahora. Si presiono en segundo, voy a ver que primero se desselecciona, segundo es el botón seleccionado. Ahora si vuelvo a presionar primero, voy a conseguir la segunda SD seleccionada. En primer lugar está el botón seleccionado. Y esto se debe a que estas dos funciones se van a ejecutar. Entonces eso es todo básicamente para el empuje de cola. Lo sentimos, esta es la tasa de cura que botón. Y sí tenemos muchos métodos dentro de esta clase, pero nos vamos a apegar a estos. Entonces dicho eso, este es el final de este video. Te vamos a ver el próximo. 11. Caja de verificación: Hola y bienvenidos de nuevo. En este video vamos a discutir una nueva clase que es clase de casilla de verificación dQ. Y esta clase va a ser muy similar al botón de radio de cola. De hecho, permítanme sólo una copia de esto. Y por supuesto vamos a empezar con un widget q justo aquí. Entonces voy a tener la app. Entonces vamos a tener que salir. Y por supuesto, vamos a necesitar mostrar esto. Entonces eso es todo. Básicamente, así es como podemos empezar. Ahora lo que vamos a hacer es crear nuestros botones. En este caso, la casilla de verificación va a ser de tipo. Entonces el Botón 1 va a ser q checkbox y se va a nombrar primer botón a Q checkbooks. Y esto va a ser segundo. Ahora lo que vamos a hacer es simplemente agregarlos a una caja de QH como antes. Por lo que voy a emitir caja Q H maquetación de caja. Y tendrá estos dos botones, soapbox que agregan widgets, botón uno. Y luego vamos a añadir botón también. Después de eso, lo que vamos a hacer es poner el diseño de nuestro widget en esta caja. Entonces como puedes ver ahora, si sigo adelante y ejecuto esta casilla de verificación de Python QC que pi. Y vamos a conseguir algo como esto. Y puedo revisar estos y desmarcarlos tanto como yo quiera. Ahora lo que vamos a hacer es crear una función que nos haga saber como antes, si este botón es la etiqueta única o si está seleccionado o deseleccionado. Y para hacer eso, voy a hacer exactamente lo mismo que antes. Entonces voy a nombrarlo seleccionado o no. Y esta función va a tomar un botón y comprobará el estado o el texto de este botón. Así botón dot txt. Si esto es igual a primero, esto significa que este es el primer botón. Y vamos a comprobar si el botón está marcado como antes. Y ahora si este es el caso, entonces si esto igual a cierto, entonces simplemente vamos a imprimir que primero se selecciona. Y si este no es el caso, vamos a imprimir eso primero. Es el seleccionado. Después de eso. Lo que vamos a hacer, si este no es el caso, también vamos a comprobar si el segundo botón está marcado. Entonces si el botón que x no es igual a primero, esto significa que estamos en el segundo botón. Y en este caso, vamos a comprobar si este botón está comprobado. Entonces si esto es descomposición, imprimir ese segundo está seleccionado. Y por supuesto, si este no es el caso, Jen, simplemente imprime ese segundo. Muy bien, Así que creo que estamos bien. Ahora solo necesitamos agregar esta función a nuestros botones. Y como antes, vamos a usar un método que es el toggled. No obstante, vamos a utilizar también otro método que es el estado cambiado. Entonces para el método o botón uno, vamos a usar el estado de Botón 1 punto cambiado, y vamos a conectarlo al Select o no con el Botón 1 como parámetro. Y el botón 2, lo vamos a tener como toggled. Y le vamos a agregar esta función que está usando el método connect. Vamos a agregar select o no. Y tomará el botón 2. Ahora si seguimos adelante y ejecutamos este código. Entonces déjame ir aquí y correrlo, ¿verdad? Por lo que sí tenemos un error en la línea 31. Y dice ese argumento uno inesperado NoneType. De acuerdo, entonces lo que estamos diciendo aquí mismo es que sí tenemos el botón, sin embargo, dentro elegir lambda. Entonces déjame seguir adelante y usarla aquí. Y ahora, volvamos a ejecutarlo. Y como pueden ver, nos dieron nuestro primer segundo. Y este caso, si presiono sobre la sed, primero se selecciona, si presiono sobre la segunda, se selecciona la segunda. Ahora lo que también podemos hacer es si presiono segundo una vez más, se deselecciona. Entonces explicarlo en un poco más, Broadway, y lo voy a hacer es dejarme simplemente mover esto todo el camino hasta aquí. Y lo que vamos a hacer es mirarlo desde el principio. Entonces al principio, no tenemos nada, así que déjame empezar por ello. Entonces como podemos ver, si presiono primero, Lo que va a pasar es al botón uno va a llamar a esta función usando el Botón 1. Se va a llegar aquí, y en realidad es igual a primero. Entonces vamos a entrar a esto y vamos a comprobar si el Botón 1 está marcado. Si este es el caso, entonces vamos a traer que primero se seleccione. Si este no es el caso, vamos a imprimir que primero está deselecto. Ahora después de eso, sólo vamos a correr esta vez porque no estamos alterando entre los dos botones, simplemente cambiamos o seleccionamos y desseleccionamos los mismos botones. Entonces si presiono en este, me voy a poner contra el seleccionado. Ahora bien, si presento un segundo, voy a conseguir segundo se selecciona porque son dos botones diferentes con dos diferentes tal vez metas u objetivos. Por lo que no les gustan los botones de radio de cola a los que enfrentamos antes, escondidos aquí, sí los tenemos como dos botones diferentes y no están relacionados entre sí. Entonces esto es básicamente esto es para la casilla de verificación Q. Esta es solo una idea básica sobre cómo usarlos y qué podemos hacer con ellos, cómo seleccionarlos y deseleccionarlos y saber exactamente qué botón o una casilla de verificación está realmente seleccionado o no seleccionado en este caso. Entonces eso es todo básicamente para este video. Nos vemos en el siguiente. 12. Caja Combo: Muy bien, Así que hola y bienvenidos de nuevo. En este video vamos a hablar clase de cuadro combinado de QC. Entonces, en primer lugar, solo impongo que todo lo que hicimos antes. Y luego vamos a empezar con construcción de la aplicación como de costumbre. Por lo que tenemos la aplicación Q que toma los parámetros. Muy bien, Así que estamos bien. Entonces vamos a construir nuestra cola, que en, entonces Q, que va a ser la variable w Entonces lo que vamos a hacer es simplemente mostrarlos. Y por supuesto vamos a salir del sistema ejecutando la app. Entonces esta es nuestra aplicación básica. Ahora, empecemos con la creación de los libros de pepino. Y básicamente la caja de pepino es la caja que contiene varias selecciones y puedes elegir una de ellas. Así que déjame empezar con la creación de los libros de pepino y nombrarlo cuadro combinado. Y en este caso no sería caja de pepino. Y luego le vamos a agregar algunos artículos. Entonces cuadro combinado, que agregan elemento. Voy a sumar primero. Entonces voy a agregar ahora múltiples ítems usando los ítems en lugar de ítem. Y esto nos permitirá añadir una matriz de artículos. En este caso, voy a sumar un segundo, después tercero, cuarto. Ahora sí tenemos nuestro cuadro combinado. Tenemos que mostrarlo. Entonces déjame justo antes de todo. Si sigo adelante y ejecuto esto, vamos a conseguir una pantalla vacía porque no agregamos este cuadro combinado a nuestra ventana. Entonces una forma de hacerlo es crear realmente un diseño de caja Q H tal vez. Y luego puedes agregar este cuadro combinado a los bugs de diseño de QH. Y por supuesto vamos a establecer el diseño del widget para que sean los radios. Entonces para hacer eso, simplemente podemos crear el diseño de caja Q H. Y lo que vamos a hacer es simplemente agregar esto a esta caja. Entonces vamos a añadir el cuadro combinado a nuestra caja, que se llama libros. Entonces agrega widget y agrega el cuadro combinado que acabas de crear. Y después de eso, necesitamos establecer el diseño del widget de nuestro real, que es W, para que sean los radios que acabamos de crear. Entonces vamos a agregar w dot set layout, y vamos a agregar box como el layout. Entonces eso es todo básicamente ahora si sigo adelante y cierro esto y lo intento otra vez, voy a conseguir algo como esto. El principio de que tenemos nuestro cuadro combinado justo aquí. Por lo que nuestro cuadro combinado se ve así. Por ejemplo, podemos cambiar nuestra selección. Y sólo seleccionará uno a la vez. Ahora para modificar esto o para saber qué selección es exactamente, somos nosotros, somos. Podemos crear una función que nos diga exactamente esto. Entonces déjame simplemente crearlo aquí. Será un nombre, quizá la selección. Y vamos a imprimir en qué índice o en qué selecciones estamos. Y simplemente vamos a usar nuestro cuadro combinado que acabamos de crear. En este caso, será la función la que es obtener el índice actual que tenemos y podemos acceder a él usando cuadro combinado o índice actual. Entonces este es el índice actual que agregamos. Podemos agregar aquí está el índice actual. Nosotros en este momento. Y entonces también podemos imprimir la selección real utilizando el mensaje de texto actual. Entonces vamos a imprimir eso. El nuevo selección es. Y entonces simplemente le agregamos el cuadro combinado que los textos actuales. Y lo conseguimos, así que ahora si voy adelante y corro esto, vamos a conseguir esto si presento segundo. Muy bien, Así que no agregamos un rasgo aquí. Necesitamos simplemente llamarlo la función siempre que cambiara el índice actual. Entonces vamos a agregar una caja que cambie el índice actual. Si este es el caso, necesitamos conectarlo a la selección que acabamos de crear. Entonces conseguimos ahora un ir adelante y probarlo. Voy a borrar esto, cerrarlo y abrirlo una vez más. Ahora si presiono en esto, voy a conseguir dos como el índice actual en el que estamos ahora mismo, la nueva selección es tercera y será la misma para todos los casos como podamos ver. Y así es como podemos usar esta función o usar el widget de caja de pepino que tenemos una salida QT cinco aplicaciones. Entonces eso es todo básicamente para el cuadro combinado, sí tenemos muchos otros métodos, pero estos son los más famosos y usados. Con eso dicho, este es el final de este video de pepino bucks. Nos vemos en el siguiente. 13. Caja de giros: Bienvenido de nuevo a este nuevo video. En éste vamos a hablar del cubo de giro que tenemos y fuego de Piketty. Y es un poco similar a la caja de pepinos, así que déjame solo seguir adelante y crear guiones. Por lo que Q giro caja dot py. Y tenemos, entonces lo que vamos a hacer es crear como antes o importar todo desde aquí. Y luego vamos a empezar con la aplicación. Y va a ser un widget también. Y entonces vamos a simplemente mostrar. Entonces esta es nuestra configuración. Ahora lo que vamos a hacer es empezar por crear nuestra caja de giros. Y para hacer eso simplemente podemos crear al principio un QV libros para ser el diseño. Entonces le voy a nombrar cuadro, y será Q, el diseño de caja. Y entonces lo que vamos a hacer es simplemente crear el interruptor en w de esta caja que creamos. Entonces voy a establecer el diseño de w para que sean las chispas. Y ahora podemos empezar con nuestra caja actual para gastar. Entonces lo que vamos a hacer es empezar con crear una etiqueta que sea por el valor o el precio, por ejemplo. Entonces déjame simplemente crearlo etiquetado uno. Y será q etiquetado, y será el valor aquí. Y entonces lo que vamos a hacer es crear o agregar esto a nuestra caja al principio. Por lo que en caja agregar widget. Vamos a agregarle esta etiqueta una. Entonces podemos empezar por crear nuestra caja de giro. En este caso, voy a llamarlo spin bucks y será de Q spin bucks. Ahora para agregar valores disciplina, pero va a estar en pantalla. Entonces ahora lo que vamos a necesitar hacer es simplemente agregar esto a la caja que tenemos. Entonces vamos a agregar el widget aquí, así se agrega a la caja y ahora podemos mostrarlo. Así que déjame seguir adelante y ejecutar esto ahora mismo para girar box. Ahora. Y vamos a conseguir algo como esto. Por lo que el valor predeterminado es 0. Y puedes aumentar o disminuir el valor tanto como quieras. Como puedes ver, este es nuestro valor y este es nuestro autobús Q gasto. Y por supuesto, si solo queremos tal vez colocar esto en el medio, simplemente podemos usar aquí. Después de crear la etiqueta, simplemente puede establecer la alineación para que esté en el centro. Así q t punto centro de alineación. Y por supuesto, volvamos a ejecutarlo como de costumbre. Tantos dos cúmulos antes. Y ahora. Fahrenheit, podemos ver que este valor está en medio de la pantalla y tenemos nuestra caja Cushman que podemos datarla y manipularla. Entonces eso es todo básicamente para dq spin box. También podemos saber cuál es el valor. Por lo que podemos crear una función simple para hacer eso por nosotros. Entonces supongamos que necesito saber el valor actual. Y simplemente podemos imprimir, tal vez sólo imprimir el valor actual es. Y entonces simplemente podemos agregar aquí los spin bucks que valoran. Y esto se llamará siempre que cambiemos el valor de la caja de giro. Entonces vamos a gastar texto box dot cambiado y vamos a conectarlo con el valor que acabamos de crear. Y ahora, hey, necesitamos agregar STR porque el valor es un entero y estamos anexando una cadena. Ahora si sigo adelante y corro esto, vamos a conseguir algo como esto. Golpeando eso. Cada vez que cambiemos el valor del cambio de texto, vamos a obtener el valor actual es y seguido por el valor que tenemos en este momento y gastamos caja. Entonces eso es todo básicamente para la clase de caja gastada. Este es el fin de la misma. Entonces nos vemos en el siguiente video. 14. Slider: Hola y bienvenidos de nuevo. En este video vamos a discutir una nueva clase que esta clase de deslizador dq. Entonces para hacer eso, lo que voy a hacer es crear al principio nuestro deslizador de colas aquí mismo. Y ahora lo que vamos a hacer es importar todo como normalmente lo hacemos. Entonces déjame seguir adelante y hacer eso. Y luego imagen, solo tienes que copiar nuestra aplicación con nuestra ventana de cocina. Y por último, voy a cerrarlo así. Y Estamos bien para que podamos empezar con nuestro script de slider de tonalidad. Entonces lo que vamos a hacer es al principio crear nuestro slider. Y lo tenemos por dos formas, ya sea horizontal o vertical. Entonces, para hacer eso, voy a hacer es simplemente crear aquí mismo. Entonces empecemos con el deslizador y luego un deslizador de imagen. Y va a ser un deslizador de cola de clase como de costumbre. Ahora bien, si queremos tenerlo horizontalmente, vamos a usar aquí q t punto horizontal como argumento. Tan agudeza, no horizontal. Perdón. De acuerdo, esto, y ahora lo que vamos a hacer es crear una caja QV con el fin agregar esto a esta caja y luego establecer el diseño de la ventana real, que para ser esta caja que venimos a crear. Entonces para hacer eso, voy a ponerle una caja. Y esta caja será de tipo q, diseño de vBox. Y luego después de crear el deslizador, lo vamos a agregar a la caja. Entonces caja que agregan widget. Y vamos a añadir este slider aquí mismo. Y antes de que terminemos, simplemente vamos a agregar o establecer el diseño de nuestro widget. Establece el diseño para que sea esta caja real que acabamos de crear. Entonces ahora si seguimos adelante y ejecutamos esto y acabamos de subir y Q deslizamos o no pyre, vamos a conseguir algo como esto. Y como podemos ver, podemos cambiar este deslizador. Podemos debatir a través de los valores que tenemos. Ahora esto es para el horizontal. Si quisiera verticalmente, simplemente cambio éste en vertical. Ahora, vuelve a ejecutarlo. Vamos a conseguir algo como esto, que es un deslizador vertical. Ahora, sigamos adelante y agreguemos algo de información adicional o características adicionales a este deslizador. Vamos a empezar estableciendo los valores mínimos y máximos que podemos tener. Y para ello, simplemente podemos usar las funciones que se establecen mínimo y máximo. Por lo que Slider el mínimo establecido. Y lo vamos a establecer, por ejemplo, 0, slider dot set maximum. Y lo voy a tener a las 10, a los 100, lo siento. Ahora si sigo adelante y corro esto, déjame simplemente cambiar esto a horizontal. Y ahora, Ryan otra vez, aquí mismo, vamos a conseguir algo como esto como antes. Y no podemos ver los valores ahora mismo porque no estamos usando ningún método que nos permita hacerlo. Entonces si queremos hacerlo, podemos crear algunas funciones que vamos a hacer más adelante en este video. Pero por ahora, apegémonos a esto que tenemos aquí mismo. Por lo que tenemos ahora nuestro mínimo y máximo. Una forma de hacerlo, una forma de saber cómo o dónde estamos en este deslizador, podemos usar la función que es el valor establecido, que es controlar programáticamente el control deslizante para establecer un valor específico antes de iniciar la aplicación. Y para ello, vamos a usar valor establecido. Voy a ponerlo en 50. Y debe ser en el medio, porque si tenemos 0, por lo que estos son los mínimos y máximos y el medio debe estar en 50. Entonces si sigo adelante ahora y ejecuto esto, vamos a conseguir algo como esto, que es exactamente a los 50. Entonces si cambio esto a un 100 ahora y lo vuelvo a ejecutar, voy a conseguir algo así. Y note que si cambio esto, por ejemplo, a un 101 y ejecuto esto, será al final también. Entonces pase lo que pase, el valor inicial, si es mayor o menor que el mínimo y máximo que tengamos, van a estar al borde o al final de ellos justo aquí. Entonces por ejemplo, si coloco aquí menos 52, voy a obtener el mismo resultado a 0. Entonces eso es todo. Ahora, también tenemos algunos métodos sobre el grueso que tenemos. Ahora lo podemos ver aquí mismo, pero podemos agregarla. Por lo que tenemos que sumar al principio la posición de las cosas que queremos. Por lo que tenemos el método que se establece la posición de la cubierta. Por lo que voy a usar el slider dot set la posición. tenemos algunas funciones como dijimos, y vamos a usarlas. Entonces, por ejemplo, sí tenemos el texto a ambos lados. Y esto nos permitirá tener textos en ambos lados aquí mismo. Entonces si lo vuelvo a ejecutar, voy a tener texto arriba y abajo. Ahora si quiero que solo estén arriba, voy a usar mazos arriba. Y corremos como podemos ver lo anterior. Y por supuesto si queremos que estén abajo, es lo mismo. Podemos hacer un dos. Y también tenemos otras dos cosas. Esto toma a la izquierda y texto a la derecha, así que toma a la izquierda. No obstante, ya que estamos usando la horizontal y estamos usando textos a la izquierda, realidad nos mostrará los textos en el alcista de nuestra ventana, nuestra aplicación, nuestro deslizador. Y como podemos ver, si lo usamos para textos bien, aquí mismo, vamos a conseguir el control deslizante con nuestro texto a continuación. Entonces eso es todo. Básicamente estos son los métodos o lo que tenemos para el texto. Ahora lo que podemos hacer es establecer realmente el intervalo de tick. Entonces déjame solo seguir adelante y hacerlo aquí. Voy a tener slider. Pero establece ese intervalo. Voy a ponerlo en 10. Ahora volvamos a ejecutarlo. Como podemos ver, cada vez que movemos una garrapata va a ser 10. Ahora, si cambiamos esto a un 100 y lo ejecutamos de nuevo, vamos a ver sólo dos textos porque el valor es ahora mismo un 100. Y por supuesto, si cambiamos esto en uno, vamos a ver muchos textos porque estamos teniendo un valor de uno por cada tick que tenemos. Entonces eso es todo. Básicamente vamos a escuchar, tener unos textos cazados aquí mismo. Ahora, estas son algunas de las funciones que tenemos en el control deslizante. Ahora, lo que tenemos en las señales en esa clase de silo de cola, tenemos algunas funciones como el valor cambiado. Es decir, notar que el valor ha cambiado en el control deslizante. Tenemos el deslizador presionado. Es decir notar que el usuario comienza a arrastrar el deslizador y el deslizador se movió, que es cuando el usuario gas el deslizador y lo mueve a la derecha o a la izquierda, arriba y abajo. Y luego tenemos este deslizador liberado, que es cuando el usuario suelta el deslizador y ya no se mantiene en él. Entonces usemos algunos de ellos ahora mismo. Y vamos a usar Connect para conectarlo a una función que vamos a crear antes. Entonces déjame hacer eso aquí mismo. Entonces lo que voy a hacer es simplemente crear una función que es justo como el nombre indica, valor cambiado. Y simplemente vamos a imprimir que el valor se cambia a. Y vamos a sumar aquí el valor del deslizador. Y ahora estamos bien. Entonces si sigo adelante y uso el slider, value, cambiado que lo conectan y lo conecto al cambio de valor que acabamos de crear. Y vamos a ejecutar esto. Vamos a conseguir algo como esto. Y por supuesto, si cambio esto, voy a conseguir que el valor d se cambie a cualquier valor que estemos en este momento. Entonces como podemos ver, esta es una muy buena manera de conocer el valor en el que estamos simplemente por una línea de una función. Ahora pasemos a otro método que es el seno del deslizador. Y esto indicará cada vez que presionemos este deslizador. Entonces lo voy a crear aquí. Desliza el pecho. Y vamos a imprimir eso. Se presiona el deslizador. Y lo vamos a usar aquí mismo. Entonces slider, ese deslizador presionado punto conectarlo y conectarlo a la función que acabamos de crear. Cerremos esto y déjame solo comentar esto para visualizar nuestro slider. Entonces déjame seguir adelante y correr esto otra vez. Como podemos ver, tenemos nuestro slider. Y ahora cada vez que presiono ahora deslizador, vamos a tener la declaración de impresión, que es que se presiona el control deslizante. Y sea lo que haga para que ya no sea importante porque esto sólo detectará cada vez que presionemos sobre la diapositiva. Y ahora si lo suelto y lo vuelvo a presionar, lo voy a volver a conseguir. Mientras yo sea Presidente net, nunca cambiará. El deslizador sólo se presionará. Ahora si lo suelto y lo hago una vez más, podemos ver que va a seguir imprimiendo. Ahora. El otro método es comprobar si el control deslizante se está moviendo. Entonces voy a crear deslizador moviéndose. Y vamos a imprimir que el deslizador se está moviendo. Ahora lo que vamos a hacer es tener la función que el deslizador se movió y se conectó al deslizador, moviendo eso a recién creado. Ahora volvamos a correr. Y como podemos ver, si presiono sobre ello, voy a conseguir que se exprese el decidor como primero. Ahora si lo muevo una vez voy a conseguir slider se está moviendo. Y cada vez que me muevo, voy a conseguir que el deslizador se esté moviendo. Ahora, recuerda, así que si lo presiono, podemos ver que aquí nos citan como seno. Presiona una vez más, lo voy a conseguir una vez más. Y ahora cada vez que lo muevo, voy a conseguir que el deslizador se esté moviendo porque detectará el movimiento de nuestra sidra. Ahora la última función de la que vamos a hablar es el deslizador liberado. Entonces déjame seguir adelante y crearlo aquí. Slider liberado. Y esto sólo imprimirá nuestro valor o nuestra declaración de que se libera el deslizador. Ahora podemos sumar realmente al valor que tenemos. Entonces realmente solo agrega valor. Y luego vamos a añadir un valor de punto deslizante para indicar qué valor. Lanzamos nuestro deslizador encendido. Salami. Adelante y corre esto aquí. Y por supuesto, voy a evitar que esto se mueva porque 12 sea un obstáculo para mostrar la parte de liberación. Entonces vamos a usar este deslizador liberado, no conectarlo y conectarlo al deslizador liberado que acabamos de crear. Ahora vamos a cerrar esto. Y permítanme simplemente cambiar este intervalo en decenas. Vamos a correr. Y como podemos ver, este es nuestro slider y nuestros intervalos. Si me muevo, vamos a conseguir que la soldadura esté prensada. Ahora cada vez que deje de ir a conseguir el control deslizante se libera valor agregado, y vamos a obtener el valor que estamos en este momento. Entonces eso es todo básicamente ahora cada vez que cambie, vamos a obtener el valor que tenemos. Y así es como podemos trabajar con estos deslizadores y sus funciones y métodos y crear una GUI sencilla para obtener valores del usuario. Entonces eso es todo. Básicamente esto es para la clase de deslizador Q, pero dicho eso, este es el final de este video. Nos vemos en el siguiente. 15. Barra de menú: Hola y bienvenidos de nuevo. En este video, vamos a hablar clase de barra de menú CPU. Por lo que en primer lugar, tenemos nuestra aplicación de bolsillo vacío 35. Ahora lo primero que necesitamos cambiar es este widget Q, porque la barra de menús realmente funciona en una ventana principal de cola. Entonces en lugar de tener q widget, vamos a tener Q ventana principal justo aquí. Y lo que vamos a hacer es simplemente crear nuestra barra de menú Q usando esta ventana principal. Entonces para hacer eso, lo voy a nombrar MB, indicando barra de menús. Y vamos a usar la barra de menú w dot como podemos ver. Entonces lo que podemos hacer ahora es agregar algunas cosas a esta barra de menús. Un método es agregar estiércol. Entonces lo voy a nombrar primero. Y vamos a añadir un menú a esta barra de menús. Y voy a nombrar tal vez sea primero. Entonces ahora si sigo adelante y corro esto, lo siento, aquí tenemos el viejo guión. Ahora, Q menu dot py. Vamos a tener algo que se vea así. Tenemos nuestro primer menú add o menu que acabamos de crear usando la clase o método Add menu. Entonces eso es todo. Básicamente, esto es lo primero que podemos hacer. Ahora lo que también podemos decir, permítanme añadir otro menú. Esto será segundo. Y déjame simplemente cerrarlo y volver a ejecutarlo. Voy a conseguir el primer segundo. Ahora podemos agregar algunas cosas a esta barra de menús. Por ejemplo, cada vez que presionamos primero, algo aparecerá aquí y podemos hacer algunos comandos, por ejemplo. Entonces ahora que tenemos este primero aquí, lo que vamos a hacer es agregarle otro menú. Y esto será, por ejemplo, crear archivo. Entonces vamos a añadir otra cosa, por ejemplo, crear carpeta. Y déjame solo echarle un vistazo. Corre. Vamos a conseguir esto. Siempre que presiono sobre esto, voy a conseguir Crear archivo, crear carpeta por ahora. Y no harán nada porque no tenemos ninguna función que soporte estos menús reales. Ahora lo que vamos a hacer es crear un par más. Entonces primero que Añadir menú, vamos a ahorrar tal vez. Y luego vamos a tener otro menú Añadir. Y en este caso, lo voy a nombrar Guardar como. Entonces como podemos ver, déjame cerrar corriendo. Vamos a conseguir algo como esto. Y esta vez lo que voy a hacer es presionar sobre esto. Y lo que podemos ver aquí es que tenemos, por ejemplo, salvarnos. Y supongamos que necesitamos guardarlo como PNG o JPEG. Y en este caso, lo que realmente necesitamos hacer es crear otro autobús u otro menú aquí con pocas opciones más. Entonces supongamos que tenemos una imagen lista para guardarla. Podemos dejar que el usuario decida si queremos guardarlo como PNG, JPEG y así sucesivamente. Y para ello, necesitamos agregar acciones a nuestro menú. Y en realidad podemos hacerlo usando el método add action. Entonces supongamos que tenemos este Menú Guardar como, voy a llamarlo Guardar como. Y luego vamos a sumar acción a esto. Voy a nombrarlo guardar como PNG, y luego guardarnos la acción de agregar, guardar como j, pj. Ahora si sigo adelante y vuelvo a ejecutar esto, vamos a conseguir algo como esto. Déjame que te hagas un poco más grande. Ahora si presiono en esto, vamos a ver guardar como PNG y guardar como JPEG. Por lo que tenemos pocas opciones más antes de decidir el resultado final que necesitamos. Ahora una última cosa que quiero agregar es, así que déjenme añadirlo aquí primero que agregue estiércol y tal vez deje de fumar. Y esto en realidad debería hacernos abandonar nuestro método de nuestra función aquí mismo. Entonces si tenemos esta aplicación spiky 5 y presente quit aqui, tal vez debería simplemente cerrar. Entonces déjame solo crear una función que haga esto por nosotros. Entonces y esta es nuestra función. Y simplemente cerraremos nuestro absoluto hasta ese nav. Si realmente queremos dejar de fumar, solo necesitamos crear una acción de cola. Y en lugar de tener primero add menu y simplemente agregar esto, lo que vamos a hacer es agregar una acción a nuestro archivo o a nuestro primero. Pero lo que sea que lo llamemos aquí. Entonces lo que podemos hacer es quizá crear aquí una acción de cola y estar mojado. Y entonces lo que vamos a hacer es simplemente agregarlo. Entonces agrega acción, y vamos a agregar quit. Ahora siempre que tengamos un gatillo en este primero, por esta acción Q justo aquí. Entonces cada vez que presionamos sobre la acción de CQ que acabamos de crear, la vamos a conectar a nuestra función que acabamos de crear. Entonces déjame solo seguir adelante y ejecutar esto. Está bien, así que sí tenemos un error diciendo que el argumento uno tiene acción inesperada tipo q. Y creo que esto es porque usamos dejar de fumar y dejar de fumar. Y estos dos, tenemos la función que es buena y la variable que también es una acción cue, quit. Entonces déjame seguir adelante y cambiar esto a WT. Ahora, déjame intentarlo de nuevo. Muy bien, entonces sí tenemos ahora nuestra función. Y si presiono primero, vamos a ver renunciar. Y ahora cada vez que presente quit, el programa acabará de salir y la app se va a cerrar porque usamos la función applet quit que tenemos justo aquí. Entonces eso es todo. Básicamente así es como podemos dejar de fumar o tonificar algunas de las funciones y métodos que tenemos en la barra de menús. Primero creamos el menú usando la barra de menús justo aquí. Después le agregamos algo de menú o algunas funciones y características. En este caso, somos primero, segundo, y dentro de este primero, sí tenemos un par de comandos que puedes hacer o el usuario puede usar. Y en este caso tenemos algunos de ellos como crear archivo, crea carpeta, guardar, guardar como. Y realmente no hacen nada ahora mismo porque no les agregamos ninguna función. Pero solo aquí para mostrar cómo crear una aplicación de cinco voluminosos y cómo usar Barra de menús en ella. Y finalmente tenemos la función qt y realmente implementé porque pensé que es bastante sencillo y una gran adición si queremos cerrar la aplicación usando solo una simple línea de código. Entonces eso es todo básicamente para la Cuba. Cuba sí tenemos algunas otras funciones como el título o el set de pruebas del SAT, atajo, y claro. Y son bastante directos. Entonces si por ejemplo, permítanme sólo usar el claro aquí mismo. Entonces si tienes nuestra barra de menús y usas el método clear e inténtalo de nuevo, vamos a ver que está despejado en este momento. Entonces eso es todo. Básicamente esto es para la clase de barra de menús QC. Nos vemos en el siguiente video. 16. Barra de herramientas: Hola y bienvenidos de nuevo. En este video, vamos a pasar por clase Q barra de herramientas y purificados. Entonces como puedes ver, tenemos nuestras invitaciones previas, nuestra creación de aplicaciones de aplicación, y luego tenemos una ventana desde la ventana principal Q. Y tenemos el método show para mostrar esta ventana. Y después de eso tenemos la salida como antes. Entonces, para empezar, necesitamos crear una barra de herramientas usando esta ventana. Por lo que vamos a utilizar q ventana principal para crear barra de herramientas utilizando el método Add barra de herramientas. Entonces le voy a nombrar barra de herramientas, y va a ser w dot add barra de herramientas a esta ventana. Y vamos a nombrar puede ser phi, digamos. Ahora lo que vamos a hacer es realmente crear algunas acciones dentro de esta barra de herramientas. Y para ello, necesitamos unas cuantas imágenes. Por ejemplo, si queremos ahorrar y salir de pocas cosas así, podemos agregarlas. Entonces déjame seguir adelante y crear u obtener estas imágenes y volvemos y seguimos. De acuerdo, Así que sí tenemos este icono Guardar, y también tenemos este ícono de salida justo aquí. Entonces permítanme simplemente crear estas acciones. Entonces tal vez para abrir, vamos a llamarlo abierto, y va a ser una acción de taco. Ahora esta q acción toma dos parámetros por ahora. El primero es el icono de dQ, que es tan especie de imagen. Y en este caso, voy a usar la imagen PNG levantada. Y si no tenemos imagen, vamos a exhibir solo abiertos. Y luego tenemos la salida. Y será del mismo tipo. Entonces salida, Q acción e ícono Q. Y por supuesto vamos a añadir aquí el punto de salida PNG y luego salir justo aquí. Ahora lo que tenemos que hacer es agregar estos a la barra de herramientas que acabamos de crear. Entonces para hacer eso, necesitamos llamar a barra de herramientas. Y luego vamos a usar el método de agregar acción. Vamos a sumar y, y por supuesto vamos a sumar también la salida. Ahora si seguimos adelante y ejecutamos esto, vamos a conseguir algo así. Y como podemos ver, tenemos nuestra salida aquí. Y sin embargo, esto arriba y no es no está abierto, es seguro. Entonces déjame simplemente cambiar esto porque estamos usando seguro en lugar de abrir ahora, phi adelante y cierra esto y vuelve a ejecutarlo. Voy a conseguir salvar y salir como podemos ver. Ahora cada vez que pasemos por encima de uno de ellos, vamos a ver lo que representa. Por ejemplo, aquí tenemos abierto en esto, tenemos salida. Entonces esto es básicamente para cómo usar una acción cue o cómo crear un icono de cola dentro de nuestra barra de herramientas. Ahora lo que hay que hacer es agregar algunos desencadenadores de acción y a éstos a fin de que nosotros, por ejemplo, salgamos de aquí. Entonces supongamos que tenemos que salir. Una forma de hacerlo es realmente agregar crédito aquí. Entonces vamos a agregar barra de herramientas, acción activada, y vamos a activar la acción, acción cue. Y luego seguido de dot connect. Entonces vamos a conectarlo a una nueva función. Voy a ponerle nombre salida. Y esta función nos sería responsable también. Sal de esto para arriba. Entonces le voy a nombrar salida. Y vamos a simplemente evaluar o subir, pero renunciar. Dejar de fumar. ¿Y quién consiguió? Ahora, como podemos ver, si sigo adelante y corro esto, vamos a conseguir algo como esto. No obstante, si presiono alguno de estos iconos, vamos a salir porque lo que realmente hicimos es que ella especificó que cada vez que tenemos una acción que se desencadena, necesitamos acceder. Entonces, por ejemplo, si presiono sobre esto, voy a salir. Y si vuelvo a ejecutar este código y presiono en abierto, también vamos a acceder desde la app. Y esto se debe a que ambos botones se consideran activados por acción. Ahora una forma de lidiar con eso es en lugar de conseguir que toda la barra de herramientas se active la acción, en realidad podemos especificar que necesitamos la salida. Entonces si se activa la salida, entonces tenemos esta función pero activada, y vamos a conectarla a la función de salida justo aquí. Entonces ahora lo que puedes hacer es simplemente salir de la app. Entonces eso es todo básicamente ahora si seguimos adelante y ejecutamos este código, vamos a conseguir algo así. Si presiono en Guardar, no pasará nada. No obstante, si presiono sobre esto aquí mismo, vamos a terminar con nuestra aplicación Piketty cinco. Entonces esto es básicamente para la barra de herramientas que tenemos n Pi codifica. Tenemos muchos métodos como el método add action, y lo hemos usado aquí mismo. Ahora. También tenemos el conjunto movible para que la barra de herramientas sea móvil. Y quizá podamos hacerlo de inmediato. Entonces déjame solo, después de crear la barra de herramientas, voy a USD set móvil aquí mismo. Y si vuelvo a ejecutar esto, tenemos que sumar su verdadero, lo siento. Ahora, si ejecutamos esto, vamos a conseguir algo así y podemos moverlo a aquí o aquí. Entonces eso es todo. Básicamente estas son las principales funciones o los principales métodos que puedes usar y dequear clase barra de herramientas en Piketty cinco. Entonces dicho eso, este es el final de este video. Nos vemos en el siguiente. 17. Diálogo de entrada: Hola y bienvenidos de nuevo. En este video, vamos a hablar la clase de diálogo de entrada Q que tenemos en Piketty cinco. Entonces para empezar, acabamos de copiar la pantalla en blanco o una ventana en blanco que podemos crear usando un widget de cola. Entonces lo que vamos a hacer es realmente pedirle al usuario que introduzca su nombre. Entonces, para hacer eso, lo que vamos a crear al principio es un diseño de formulario. Entonces voy a nombrarlo forma. Y vamos a usar un diseño de formulario para acaba de crear un anuncio, todo en él. Ahora lo que vamos a hacer es simplemente crear una línea de cola agregada para que el usuario introduzca el nombre, por ejemplo. Entonces para hacer eso, lo que vamos a hacer es simplemente crear una edición de línea. Voy a llamarlo Línea 1. Entonces va a ser una edición de línea. Y ahora lo que vamos a hacer es agregar esto a nuestra forma. Entonces forma punto, agrega widget, va a agregar línea uno. Y luego vamos a agregar o establecer el diseño de nuestra ventana para que sea esta forma que acabamos de crear. Ahora si seguimos adelante y ejecutamos esto, vamos a conseguir algo como esto donde el usuario pueda escribir o hacer lo que quiera. Ahora, vamos a añadir una etiqueta aquí. No obstante, no vamos a utilizar el método Add label que tenemos en Pike 35. En realidad vamos a usar un botón para mostrar que el usuario puede presionar este botón. Y luego vamos a abrir una nueva ventana donde el usuario también puede ingresar su nombre. Entonces déjame solo mostrarte cómo podemos hacer eso. Después de crear la edición de línea. Lo que vamos a hacer ahora es simplemente agregar aquí el botón. Voy a nombrarlo Botón 1 y 2 PDF tipo q pulsador. Y podemos usar ingrese su nombre. Y después de eso, lo que vamos a hacer es agregarlo al formulario. No obstante, necesitamos agregarla con el botón real. Entonces en lugar de agregarlo como widget de adición, vamos a usar Agregar fila. Y dentro de esta fila vamos a tener el Botón 1 y la línea 1 por completo. Vuelve a correr. Vamos a ver algo así hasta que tu nombre y tenemos algo aquí. Ahora bien, si presionamos sobre este nombre enter, no pasará nada. No obstante, deseamos tener una nueva ventana donde el usuario también pueda ingresar el nombre. Y en este caso, lo que podemos hacer en realidad es simplemente usar la función de cobro que tenemos. Entonces si este botón o siempre que se haga clic en este botón, vamos a conectarlo a una función que es enter name. Y vamos a crear un criterio. Entonces déjame seguir adelante y hacerlo. El helecho y nombre. Y dentro de esto, lo que vamos a hacer ahora es simplemente usar el diálogo de entrada Q justo aquí. Entonces lo que vamos a hacer es conseguir nombre y bien, y vamos a crear un diálogo de entrada de cola. Y aquí vamos a utilizar el método GetText para obtener un texto del usuario. Entonces vamos a usar que se le imponga impuestos. Y luego simplemente lo vamos a nombrar Diálogo de entrada, seguido de simplemente introduce tu nombre aquí. Ahora, vamos a explicar qué significa este nombre y o caisson en un segundo. Pero por ahora, FOK es igual a cierto. Entonces lo que vamos a hacer es simplemente establecer lo que tengamos dentro este nombre y alinear uno que tengamos. Entonces vamos a tener la línea 1 punto setText, vamos a usar el método setText. Y vamos a almacenar nombre en él. Ahora si seguimos adelante y ejecutamos esto, correcto, así que si presiono en esto, está bien, entonces tenemos un error porque no especificamos la cola que se adhieren. Entonces estamos usando Ws dq widget. Ahora intentémoslo de nuevo. Pruébalo. Si presiono aquí, vamos a conseguir algo como esto hasta su nombre aquí. Y este es el título Emperador directo que acabamos de escribir. Tenemos entrar un nombre aquí. Entonces si escribo Hadi y presiono, vale, lo voy a ver aquí. Ahora si escribo, por ejemplo, Eunice y oprimido cancelado, nada va a pasar porque especificamos que si el usuario presiona sobre una K, Vamos a establecer el texto de la línea 12 fuera de lo que tenemos dentro nuestro nombre. Si este no es el caso, si el usuario presiona, Cancelar o cerrar, no pasará nada y no se cambiará el nombre. Entonces eso es todo. Básicamente esto es para preguntarle al usuario cómo puede ingresar el nombre y obtenerlo de otro al primero. Ahora supongamos que necesitamos cambiar el texto a un entero. En este caso, necesitamos preguntarle al usuario su edad, por ejemplo. Y lo que podemos hacer en realidad es tal vez, déjame solo comentar esto y voy a crear un nuevo botón. 12 serán de tipo q pulsador e ingresa tu edad. Ahora lo que vamos a hacer es simplemente cambiar esta función para entrar en edad. Y voy a crear una nueva función que es entrar edad. Y también vamos a envejecer. Y bien, como antes, sin embargo, ahora vamos a usar la función get int con la W como widget. Y por supuesto vamos a tener las dos cuerdas, el título y el sello. Entonces va a ser un diálogo de entrada y tal vez solo ingresa tu edad aquí. Y ahora si, como antes, entonces si, de acuerdo, vamos a cambiar la línea 1 y 2 SetText a lo que tengamos dentro de nuestra edad. Entonces eso es todo básicamente ahora si sigo adelante y vuelvo a correr esto, va a conseguir algo así, entra edad de nuestro personal que va a tener esto. Podemos cambiar la edad, el entero mediante el uso de estas flechas. Y también podemos cambiarlo escribiendo aquí mismo. Ahora lo que podemos hacer, déjame simplemente cambiar esto en STR porque a pesar de que es una edad, estamos recuperando una cuerda. Entonces ahora si sigo adelante y corro esto, entonces sólo escribimos algo aquí. Y si presiono, está bien, vamos a conseguir el número aquí. No obstante, si presento cancelar, no pasará nada. Ahora, como podemos ver, si traté de escribir en el teclado, no pasará nada porque esto es sólo un entero. Estaban usando no pueden simplemente escribir todo lo que quiera. Y este es un gran método para dejar que el usuario, o para especificar que el usuario no puede escribir nada más que un entero. Entonces ahora este es un gran método. Entonces si traté de escribir cualquier cosa menos un entero, no pasará nada. Y una forma de mejorar esto es en realidad, como pueden ver, si escribo algo aquí, van a aparecer. Y no es conveniente porque acabamos crear esto con el fin de evitar que el usuario escriba algo aquí. Y en realidad podemos desactivar esta edición de línea. Entonces voy a usar la línea uno que decía desactivada, y vamos a usar draw. Ahora, seguiré adelante y volveré a ejecutar esto. Podemos ver que esto está deshabilitado y el usuario puede presionar o no puede escribir nada aquí. No obstante, si escribe aquí, aparecerá dentro de esta línea desactivada en ella. Entonces esta es una gran manera de asegurarnos que recuperemos un entero y no tenemos que preocuparnos el tipo que estamos recibiendo. Ahora supongamos que tenemos una lista de elementos y se le pide al usuario que elija uno de ellos. Y esta es una gran manera de usar el cuadro de diálogo de edición de línea Q o de entrada de dq , lo siento, en este caso. Entonces lo que vamos a hacer es simplemente pedirle al usuario que entre tal vez a la categoría. Y por supuesto lo vamos a conectar para entrar en categoría. Y vamos a crear la función respectivamente. Por lo que tenemos entrar categoría. Y vamos a conseguir, lo siento, vamos a conseguir categoría, ¿de acuerdo? Como de costumbre. Entonces categoría, está bien. Y vamos a utilizar el diálogo de entrada Q. No obstante, vamos a utilizar el elemento get en esta función de caso, y esto tomará algunos parámetros. Entonces el primero va a ser el título. Como de costumbre, lo siento, el widget. Y entonces tenemos el título. Y por supuesto, vamos a usar y, o elegir una categoría. Y luego vamos a añadir una lista de categorías. Y por supuesto, vamos a empezar por ello aquí mismo. Entonces le voy a nombrar categorías en este caso. Y tal vez esa. Y después tenemos dos. Entonces y así sucesivamente. Entonces tal vez realmente, y ahora lo vamos a agregar aquí. Entonces tenemos categorías y vamos a tener el índice en 0. Y vamos a especificar que sea falso, y te lo explicaré en un segundo. Pero por ahora, simplemente vamos a escribir F, ¿de acuerdo? Si el usuario presiona, está bien, vamos a establecer el texto de la línea 1. Entonces línea uno, ese SetText. De acuerdo, entonces setText a lo que tengamos dentro de la categoría. Y estamos bien. Ahora si sigo adelante y corro esto aquí mismo, y presiono una Intro categoría, voy a conseguir algo como esto. Tenemos elegir una categoría. Si lo presiono, voy a conseguir que ese gato consiga tres. Y puedo elegir entre ellos. Ahora, si cambio el índice aquí por, supongamos que lo tengo en índice para volver a ejecutar esto, Vamos a conseguir algo así, indicando que vamos a empezar con conseguir tres en lugar de gato uno como antes. Ahora, sigamos adelante y elijamos una categoría y seguimos adelante. ¿De acuerdo? Y como pueden ver, podemos verlo aquí mismo, Categoría 2. Entonces eso es todo básicamente para el diálogo de entrada Q. Tenemos muchas otras entradas o no algunas otras funciones. Y una función similar al entero get es obtener el doble. Podemos seguir adelante e implementarlo, pero no creo que sea muy diferente a solo entero. Podemos usarlo, por ejemplo, para escribir su salario. Y simplemente podemos implementarlo. Y también podemos almacenar la entrada o la entrada del usuario dentro de nuestra línea one edit. Por lo que sí tenemos muchos métodos. Y estos son los más importantes que debes conocer entonces clase dq Input Dialog. Entonces dicho eso, este es el fin de esta clase. Nos vemos en el siguiente. 18. Diálogo de fuentes: Hola y bienvenidos de nuevo. En este video, vamos a hablar la clase de diálogo de fuentes Q dentro de nuestro sacrificio. Entonces, permítanme empezar crear el diálogo de cupones aquí mismo. Y lo que vamos a hacer es simplemente copiar todo esto como de costumbre. Y después de eso vamos a copiar la aplicación, seguido del sistema de la OMS que sale al final de la misma. Ahora lo que vamos a hacer es empezar con, déjame simplemente cerrar estos. Y vamos a empezar por crear algunos pulsadores y el impuesto tal vez real que necesitamos tener. Entonces para hacer eso, con lo que voy a empezar es crear una caja de caja QV. Lo vamos a usar en un minuto. Q V maquetación de caja. Y entonces lo que vamos a hacer es crear un botón, uno de q pulsador. Y esta será la fuente. Por lo tanto, por favor seleccione la fuente que desea utilizar. Por ejemplo. Después de eso, lo que vamos a hacer es crear una función que solo se llama cada vez que hacemos clic en este botón. Entonces vamos a usar eso, recolectar que se conectan a una función. Voy a ponerle nombre set font, ¿verdad? Entonces lo voy a crear aquí. Así que establece la fuente, y vamos a lidiar con eso más tarde. Pero por ahora sólo seguiremos con esto. Entonces voy a añadir el widget. Entonces voy a agregar botón quería una caja. Y luego nos sentamos, simplemente vamos a establecer el diseño de nuestro widget para que sea esta caja real que tenemos. Ahora, para poder continuar con nuestro método de fuente set que acabamos de crear, necesitamos usar realmente el diálogo de fuentes de cola que tenemos. Y esto nos permitirá obtener la información de la fuente del usuario. Entonces antes de eso, permítanme, digamos que queremos la fuente de algo. Entonces nosotros, para, que podríamos haber usado, por ejemplo, la función de fuente establecida que tenemos y podemos seleccionarla. Entonces permítanme sólo darles un ejemplo aquí. Voy a crear una etiqueta. Y será de sello Q. Y dentro de esta etiqueta, voy a tener, por ejemplo, esta es la primera etiqueta. Y después de eso, lo que voy a hacer es establecer la fuente para dejar suponer que necesitaba área y tal vez 25 píxeles. Ahora si seguimos adelante y lo ejecutamos, limb solo escriba Python coupon dialog dot py. Vamos a conseguir algo como esto. Y cada vez que lo presione, no pasará nada porque en realidad no creamos la función que tenemos. Entonces déjame volver a ejecutarlo. Muy bien, así que sí tenemos un error porque nos olvidamos de aquí una fuente de cola. Y ahora deberíamos ser buenos. Y de nuevo, vamos a conseguir algo así. Y como podemos ver, esto está bien, pero en realidad no agregamos esto a nuestra caja. Entonces déjame añadir muy rápido. Entonces agrega widget y vamos a usar etiqueta. Y por último, si lo vuelvo a ejecutar, lo vamos a ver. Esta es la primera mano de obra y está cambiando claramente con la fuente que estamos poniendo aquí. Entonces por ejemplo, si coloco 13 y corro, podemos ver que esta es la primera etiqueta ahora es en realidad más pequeña que antes. Y debido a que esto se debe a que estamos cambiando la fuente, ahora, diálogo de fuente Delueue nos permitirá hacerlo sin serlo, sin tener que usar la fuente establecida dinámicamente, podemos dejar que el usuario elija la fuente real. Entonces vamos a llamar a esta función, esa es la fuente establecida. Y dentro de esta función vamos a empezar con eso en la fuente. Y bien, desde el diálogo de fondo de cola que tenemos y diálogo telefónico de escritorio. No tenemos nada en ella. Y F, Vale, como de costumbre, vamos a establecer la etiqueta que tenemos, que está etiquetada para ser igual al frente de la etiqueta, para ser igual a la fuente que acabamos de obtener. Entonces esto es todo básicamente ahora tenemos este método. Y ahora si sigo adelante y ejecuto esto y nos olvidamos de agregar el método get found. Entonces déjame solo rápido y ahora lejos, correrlo de nuevo y presentar esto. Vamos a conseguir la fuente selecta. Y esto permitirá al usuario elegir entre todas las diferentes fuentes que tenemos aquí. Y el estilo de fuente, regular, viejo negrita, y el tamaño también, hemos subrayado huelga todo lo que necesitamos. Sistema de escritura, griego, todos los sistemas de escritura están disponibles. Y eso es todo. Básicamente, así es como podemos dejar que el usuario elija la fuente que necesita. Ahora, si presionamos, está bien, esto sucederá y si presiono, cancelará, cancelará toda la acción de ajuste de la fuente. Entonces eso es todo básicamente para la clase de teléfono del SAT. El diálogo de cupones que tenemos en Piketty cinco. Pensé que es una gran clase que se puede usar, sobre todo cuando necesitamos que el usuario ingrese a un teléfono específico. Y usar este método nos permitirá obtener una fuente real en lugar de tal vez algunos errores o errores por parte del usuario que se puedan cometer. Y aquí, siempre debe escoger una y la fuente de estilo conciso. Podemos sumar los efectos por supuesto, y siempre puede ver la salida antes. Simplemente finalmente presionando el botón Ok. Entonces eso es todo. Básicamente esta es nuestra clase directa de cupón. tenemos algunos otros métodos en él, pero este es el justo, el más importante que podemos usar y nuestras cinco aplicaciones Piketty de ahora en adelante. Entonces dicho eso, este es el final de este video. Nos vemos en el siguiente. 19. Diálogo de Dialogo: Hola y bienvenidos de nuevo. En este video vamos a discutir la clase de diálogo de archivo de cola. Entonces sigamos adelante y creemos nuestro guión. Voy a nombrar archivo de cola, diálogo, punto py. Y voy a seguir adelante y copiar toda esta importación y luego la aplicación. Entonces finalmente, la salida y la ejecución de la app. Ahora, empecemos con la construcción una caja QV que vamos a usar más tarde. Por lo que vamos a tener el diseño de caja QV. Y esto nos ayudará, o aquí es donde vamos a almacenar nuestros diálogos de archivo que vamos a crear más adelante en nuestra aplicación Piketty cinco. Entonces sigamos agregando algunos pulsadores. Entonces voy a seguir adelante y escribir Botón 1. Va a ser q pulsador y tal vez sólo elija una imagen. Y ahora lo que vamos a hacer es conectar esto a un método del que vamos a sacar la imagen. Por lo que b21 punto hizo clic que conectar. Y lo vamos a conectar para tal vez obtener imagen. Y vamos a crear una función para obtener la imagen de Sean, conseguir un mucho. Y dentro de esto, vamos a usar nuestro diálogo de archivos de cola. Entonces vamos a conseguir el nombre de la imagen. Y vamos a utilizar el diálogo de archivo de cola con el fin de extraer la imagen. Entonces vamos a tener la W como widget. Y luego vamos a tener el tal vez simplemente anexar. Y aquí tenemos que sumar nuestro camino. Entonces seguiré adelante y lo copiaré ahora mismo. Después de eso, necesitamos indicar el justo el tipo de las imágenes. Voy a ir con el PNG. Entonces para hacer eso, necesitas escribirlo así. Y vamos a cerrarlo. Y esto es básicamente. Ahora, lo que básicamente podemos hacer es conseguir esto y tal vez sólo copiarlo en alguna forma de etiqueta o imagen que podamos crear más adelante. Entonces así es como podemos usar el diálogo del archivo de cola. Sigamos adelante. Copiemos esto en una etiqueta real que podemos tener en el mar. Entonces teniendo el Botón 1, Vamos a crear etiqueta uno por ejemplo. Y será de tipo q etiquetado. Y tal vez solo esto es una etiqueta. Y entonces lo que vamos a hacer es simplemente agregarlos a la caja que simplemente creamos un circuito para agregar widget Botón 1. Y luego vamos a añadir otro widget que es el etiquetado. Y por supuesto necesitamos establecer el diseño de nuestra ventana. Bueno, que tenían que ser las chispas que acabamos de crear. Ahora, sigamos adelante y llevemos esto antes de Lincoln a cualquier cosa. Por lo que Q5, diálogo punto py. Podemos ver que tenemos esto es una etiqueta y tenemos que elegir una imagen aquí mismo. Entonces ahora si presiono sobre esto, No podemos ver nada porque no usamos la función que es el gut Abrir nombre del archivo. Y ahora deberíamos ser buenos. Si sigo adelante y vuelvo a ejecutar esto, vamos a conseguir algo como esto. Y está abierta ahora mismo. Este es nuestro camino y tenemos la salida y guardar ese PNG. Y esto es lo que elegimos un partido archivos dot PNG. Ahora lo que vamos a hacer es simplemente conseguir esta imagen. Entonces si elijo este, no pasará nada porque simplemente lo elegí y lo guardo y nombre de la imagen y realmente no lo usé. Ahora lo que voy a hacer es poner la etiqueta uno. Entonces vamos a establecer texto o vamos a configurar el plasma porque esto es una imagen y así es como podemos hacerlo configurada siempre que queramos usar una imagen. Y vamos a ponerlo cola picks mapa del nombre de la imagen que acabamos de obtener. Ahora si sigo adelante y vuelvo a correr esto, vamos a conseguir algo así. Voy a elegir esta imagen por ejemplo. Y sí tenemos un árabe como nombre de imagen como tuple. Entonces sigamos adelante y lo imprimamos. Y si ejecuto esto, y tratemos de usar esto, podemos ver que esto es lo que estamos recuperando. No obstante, sólo necesitamos la primera parte, que es nombre fino en 0 en este caso. Y creo que deberíamos ser buenos. Vamos a seguir adelante y a correr de nuevo. Y ahora si sigo adelante y elijo, Está bien, así que lo tenemos aquí. Entonces esta es nuestra imagen la que la muestra desde aquí. Y cada vez que cambiemos o elegimos otra imagen, vamos a conseguir lo que queremos y se va a vender en nuestra etiqueta. Ahora como podemos ver, ya predefinimos que sólo necesitamos las fotos PNG. Supongamos. Escribí, Oye aquí, JPEG y yo especificamos que este es el camino que quiero. Ahora si sigo adelante y ejecuto este código, no vamos a encontrar ninguna imagen justo aquí porque no tenemos ninguna imagen para el tipo de JPEG. Acabamos de tener el PNG dentro de esta carpeta. Por lo que podemos ver el PNG porque el único archivo permitido como JPEG. Entonces eso es todo básicamente para el proceso de almacenamiento de imágenes. Es así como podemos simplemente elegir una imagen y extraerla, tal vez usarla en nuestro pastel, purificada, o hacer cualquier otra cosa con ella. Entonces eso es básicamente todo para la imagen. Sigamos adelante y continuemos con el archivo de texto. Supongamos que tenemos archivo dot TXT donde necesitamos extraer algo de información y mostrarla en nuestra pasada aplicación 35. Entonces sigamos adelante y lo hagamos aquí mismo. Yo sólo voy a sacar estos comentados y vamos a trabajar desde aquí. Ahora en adelante. Está bien, así que voy a crear el botón uno. Y va a ser un pulsador de cubo. Y estos van a decir elige un archivo. Entonces lo que vamos a hacer es conectarlo al método que necesitamos. Y cuál es GET gravado puede ser. Y ahora lo que vamos a hacer es simplemente agregar esto a la caja. Entonces vamos a agregar widget. Y este es el Botón 1. Y luego también vamos a agregar el contenido, que es básicamente se puede hacer tal vez también una etiqueta. Por lo que la etiqueta uno será de la etiqueta Q. Y tal vez vas a empezar con esto como etiqueta y también añadirlo a la caja. Y entonces sólo vamos a establecer el diseño para ser esta caja. Ahora, vamos a crear la función que es el intestino. La siguiente función. Ahora dentro de esta función, lo que vamos a hacer es extraer la información del archivo de texto. Y vamos a utilizar el diálogo del archivo de cola como antes. Entonces déjame seguir adelante y cerrar esto. Vamos a empezar por crear el diálogo de archivos. Entonces tal vez le voy a nombrar archivo que se ve así. Y será de tipo q Diálogo de archivo. Y entonces lo que vamos a hacer es establecer el modo de archivo a cualquier archivo. Entonces diálogo de archivos que establece el modo de archivo. Y esto nos permitirá simplemente establecer el modo de archivo para que sea cualquier phi que tengamos. No importa. Por lo que vamos a utilizar cualquier función de archivo del diálogo Q5. Entonces lo que vamos a hacer es filtrar todos los archivos solo para tener el TXT. Por lo que vamos a utilizar File dialog dot set filter. Y luego vamos a usar archivos de texto para ser solo éste, dxdy. Y ahora lo que vamos a hacer es simplemente meter estos en una cadena y simplemente abrir el archivo, leer los datos de él, y luego tal vez establecer el texto de nuestra etiqueta para que sea los datos que vamos a extracto del archivo. De acuerdo, así que para hacer eso, con lo que vamos a empezar es que tal vez les voy a nombrar archivos. Y esto se definirá diálogo que seleccionó archivos. Por lo que esto extraerá todos los archivos que tenemos. Y entonces lo que vamos a hacer es abrir quizá el primer archivo, ya que sólo necesitamos uno de ellos. Entonces vamos a abrir los archivos a 0 y vamos a leer. De acuerdo, entonces ahora lo que vamos a hacer es usar esto y configurar el texto de la etiqueta para que sea datos que vamos a leer. Entonces vamos a estar teniendo defiles y lista de cadenas. Entonces antes de obtener los archivos seleccionados, cuando voy a hacer es crear un modelo de lista de cadenas de cola. Y esto nos permitirá almacenar todos los archivos en una lista de fuentes de fuerza. Y entonces lo que vamos a hacer es simplemente abrirlos y obtener el primero y luego leer los datos de él. Ahora lo que vamos a hacer es simplemente usarlo y almacenar los datos desde aquí dentro de la etiqueta uno. Por lo que nivel 1 punto establecer texto en esa raza. Y esto nos permitirá leer los datos y obtener todo desde aquí y ponerlo dentro de esta etiqueta. Ahora lo que vamos a hacer es ejecutar esto y comprobarlo. Entonces voy a tener que manejarlo aquí. Elige un archivo. Muy bien, entonces tenemos un error diciendo que esto, de acuerdo, así que necesitamos usar un filtro SetName. Porque esta era la versión más antigua. Ejecutarlo de nuevo, elige un archivo. Y sí tenemos índice de lista fuera de rango. Y esto se debe a que la apertura de archivos podría ser demasiado lenta. Los archivos seleccionados que se buscarán dentro esta lista de cadenas es, podrían ser demasiado lentos. Por lo que vamos a ejecutar un bucle de eventos usando el punto de diálogo File just. Y esto nos permitirá esperar hasta que tengamos el expediente y luego podamos continuar. Entonces esto es básicamente y por supuesto, esto debería ser también dentro de éste. Está bien, así que creo que ahora estamos bien, si seguimos adelante y tratamos de volver a correr esto, vamos a ver algo como esto. Si elijo un archivo, se abrirá. Y si presiono sobre esto y abro este archivo, lo voy a ver aquí mismo. Este es el primer archivo, file.txt hola mundo. Y estas son exactamente lo mismo que escribimos y nuestro file.txt aquí mismo. Entonces eso es todo. Básicamente así es como podemos extraer de un archivo usando un método simple, esa es la clase de diálogo de archivos de cola. Y, y lo que hicimos exactamente es simplemente crear un botón. Y luego cada vez que presionemos sobre esto, nos permitirá usar esta función GetText. Y dentro de esta función GetText, creamos el diálogo de archivos. Y especificamos que podemos tomar cualquier archivo, entonces simplemente filtramos hacia fuera en dot TXT. Y luego cuando conseguimos este archivo, creamos un modelo de lista de cadenas donde vamos a almacenar todos los nombres de archivo. Y entonces lo que realmente hicimos es conseguir estos archivos y almacenarlos dentro de nuestros archivos desde el dialecto de archivos y abrir el primero de la lista. Y por supuesto después de eso, acabamos de obtener los datos de este archivo usando el método leído y configuramos la etiqueta para sea este dato que acabamos de extraer. Entonces eso es todo básicamente para este archivo de cola, es clase directa. Esa es una clase muy poderosa en pica 35. Con eso dicho, este es el fin de la misma. Nos vemos en el siguiente video. 20. Pasta: Hola y bienvenidos de nuevo. En este video vamos a hablar de clase de pestaña Cola. Y déjame seguir adelante y crear nuestra función, nuestro guión aquí. Entonces le vamos a nombrar la cola. Ahora pi. Entonces empecemos importando todo lo que tenemos de scripts anteriores. Entonces voy a hacer esto. Y luego vamos a tomar los criterios AP. Y luego finalmente, derrube. Ahora lo que vamos a hacer es usar realmente widget de la pestaña Cola en lugar del widget real. Y esto es algo que usamos siempre que necesitamos tener un top y nuestra aplicación. Ahora, lo que vamos a hacer es crear algunas pestañas. Entonces voy a crear dos pestañas. El primero se llamará T1, y luego el segundo será T2. Y ambos son de clase Cola widget. Y entonces lo que vamos a hacer es simplemente agregar estas pestañas a nuestro widget de pestaña de colas. Por lo que w dot add tab va a T1 y T2. Y ahora si seguimos adelante y queremos visualizar esto, simplemente podemos hacerlo por fin. Déjame ir justo aquí y ejecutar este Python dot py. Muy bien, así que sí tenemos un error porque en el widget de autocuidado, un STR. Entonces vamos a escuchar el nombre, que básicamente es tap 1. Y aquí vamos a añadir esa cosa. Ahora estamos bien. Adelante y otra vez. Y como pueden ver, tenemos TB1 a las dos y podemos cambiar entre ellos. Ahora dentro de estas pestañas, podemos hacer lo que queramos. Pero por el bien de ejemplo, vamos a agregar tal vez FirstName y LastName con alguna línea en ella donde el usuario solo pueda agregar algunas cosas. Y para ello, simplemente vamos a usar la función. Entonces déjame crear justo aquí. Por lo que esta función va a ser nombrada tab1. Entonces T1 o tal vez TB1. El bien del argumento. Y lo que vamos a hacer es simplemente crear un formulario que será q para el diseño. Y entonces lo que vamos a hacer a continuación es agregar quizás FirstName y LastName con un Cula y editar. Entonces voy a necesitar crear tal vez una etiqueta. Entonces voy a nombrarlo etiquetado como uno. Será de etiqueta Q. Y voy a escribir nombre de pila. Después tenemos Q line edit. Y lo vamos a nombrar Línea 1. Será Q line en ella como esta. Y luego vamos a sumar estos a una fila donde hemos etiquetado 1 y línea 1. Y luego vamos a hacer exactamente lo mismo para el apellido. Por lo que q etiquetado apellido. Y entonces tenemos línea a que va a ser de tipo q line edit como de costumbre. Y el polvo acaba de añadirse a la forma que acabamos de crear. Por lo que etiqueta a la línea 2. Creo que ahora estamos bien. Simplemente podemos añadir estos a nuestro diseño. Entonces como podemos ver, esto es para el tabulador uno. Entonces lo que tenemos que hacer ahora es usar se suman a t1. Entonces t1, eso, y vamos a usar el diseño del set para ser esta forma que acabamos de crear. Ahora si seguimos adelante y ejecutamos esto, vamos a ver algo así. Nosotros sí tenemos. Aquí te dejamos unas cuantas cosas. No obstante, realmente no podemos visualizar esto porque realmente no llamamos a la función. Entonces lo voy a llamar aquí mismo. Ahora, volvamos a correr. Y como puedes ver, obtuvimos nuestro FirstName, LastName, donde el usuario puede ingresar la información aquí. Y aquí podemos hacer exactamente lo mismo. Podemos quizás agregar q botones de radio, casillas de verificación, tal vez alguna entrada de archivo o cualquier cosa que queramos o necesitemos. Entonces eso es todo básicamente para esta linda función IF. Si estás interesado en tal vez implementar una pestaña extra aquí, voy a seguir tal vez agregando algunas categorías que el usuario pueda elegir. A lo mejor alguna casilla de verificación de cola, digamos. Y esto es todo para el tabulador. Si te interesa, puedes seguir conmigo con el estudio. Entonces ahora para tab2, cuando voy a hacer es crear otra función aquí, la AP2. Y dentro de esta función, también voy a crear otro diseño de formulario. Y tal vez cambiemos de la fórmula y voy a crear un diseño de caja QH. Entonces le voy a nombrar libros de tipo QH box layout. Y vamos a añadir las etiquetas. Entonces supongamos que tengo una etiqueta uno para la categoría uno. Por lo que sería de tipo q etiquetado Categoría 1, luego etiquetar dos para la categoría dos. Y por último, mano de obra 34, categoría 3. Muy bien, entonces ahora estamos bien. Lo que tenemos que hacer ahora es simplemente añadirlos a nuestra caja. Entonces en widget, vamos a agregar etiqueta uno, y luego vamos a agregar etiquetada 2. Y por último, vamos a sumar mano de obra 3. Ahora, como antes, sólo vamos a establecer el diseño de nuestra segunda pestaña a esta caja real. Y necesitamos sumar y llamarlo para solo generar esta función. Ahora, sí tenemos estas tres etiquetas. Podemos cambiarlos realmente a la casilla de verificación por ejemplo. Entonces si quiero visualizar, checkbox tendrá que hacerlos así. Y ahora si sigo adelante y corro esto, vamos a conseguir algo así. Tenemos que tener uno de los presentes arriba para ir a conseguir esto. Y yo puedo elegir. Algunas de las casillas de texto son casillas de verificación que tenemos. Y esto es todo usando algunas pestañas para que podamos cambiar entre ellas y lo son. Para cada pestaña tenemos diferentes propósitos y diferentes métodos que se pueden generar y con los que se trabaja. Entonces eso es todo básicamente para el cutup plus NPi codifica. Este es el fin de esta clase. Tenemos muchos métodos que podemos usar y estos son los más importantes. Ahora, lo último que te voy a mostrar en esta clase es el método cambiado actual. Esto nos permitirá saber cada vez que cambiemos el índice o cada vez que cambiemos una pestaña a otra pestaña. Entonces lo voy a hacer es solo usarlo. Por lo que siempre que sí tengamos la corriente cambiada, vamos a conectarla a un método o a una pestaña cambiada. Ahora si seguimos adelante y creamos una función que se llama Tab cambiado, vamos a imprimir eso. Cambiamos las apps ahora mismo. Entonces ahora si sigo adelante y vuelvo a ejecutar esto, y si cambio de aquí para aquí, podemos ver que cada vez cambio o cambio entre las pestañas, voy a conseguir que cambiemos las apps ahora mismo. Ahora también tenemos otra función que es obtener el índice actual. Entonces una forma de conseguirlo en realidad es simplemente usarlo aquí mismo. Entonces cambiamos las pestañas ahora mismo. Dos y más, vamos a usar el top o W, ese índice actual. Y esto nos permitirá obtener el índice actual que tenemos. Y si ejecuto esto, correcto, así que necesitamos concatenarlo en una cuerda. Vuelve a correr. De esta manera podemos ver que conseguimos esto y estamos en el índice 0. Si paso al índice 1, 0, 1, 0, 1, y así sucesivamente. Ahora también podemos tener el índice actual y podemos establecerlo antes de iniciar el proceso. Y podemos usar este conjunto índice actual que especifiqué para ser uno para llegar a aprovechar, ya que sólo tenemos dos pestañas, esto está en el índice 0 y esto es en el índice uno. Entonces vamos a correr de nuevo. Y como pueden ver, empezamos en el Tab uno ahora, y lo siento, hasta el cual está en el índice uno. Y podemos movernos de ida y vuelta. The steps does, Eso es todo básicamente para el lindo up, sí tenemos un montón de métodos que puedes usar, como el set current widget, eliminado arriba, Insertar pestaña y establecer esa posición tal vez justo encima de la página, izquierda de la página, debajo de la página de estas funciones podría ser útil para usted dependiendo del caso. Pero estos son los más importantes que debes conocer antes de comenzar con alguna aplicación Piketty cinco. Entonces eso es todo básicamente para el q tau plus. Con eso dicho, este es el final de este video. Nos vemos en el siguiente. 21. Stack: Hola y bienvenidos de nuevo. En este video, vamos a hablar de la clase cue stack. Y sigamos adelante y creemos nuestro archivo. Voy a llamarlo Q stack apart. Y como antes, simplemente vamos a copiar esto y algunos de estos de aquí. Y luego vamos a mostrar la ventana y salir del sistema. Entonces eso dicho básicamente para una aplicación básica por 35 ahora empecemos con la construcción de la pila que queremos. Ahora para hacer eso, necesitamos usar dq stack, qué clase que tenemos. Entonces le voy a nombrar pila. Y será Q widget apilado. Y esta será la pila principal que necesitamos crear. Ahora lo que vamos a hacer es simplemente cambiar esto de Q con su presupuesto al segundo trimestre. Y por supuesto, vamos a necesitar crear múltiples pilas y luego agregarlas a este widget Q stack y luego mostrarles una ventana de hora. Entonces para hacer eso, voy a crear un S1, que es un widget Q. Y luego S2, otra clave que lo. Y creo que ya basta. Ahora lo que vamos a hacer es agregar esto a nuestro widget de pila. Y para hacer eso simplemente podemos usar aquí pila que agregan widget. Y vamos a sumar S1. Entonces vamos a sumar S2. Y después de eso, vamos a crear tal vez sólo algún tipo de diseño y simplemente poner los interruptores en él. Entonces voy a crear una caja horizontal. Voy a ponerle nombre cuadro Q H maquetación de caja. Y luego vamos a añadir la pila a esta caja usando los bugs que agregan widget. Y vamos a añadir pila. Y por último, vamos a establecer el diseño de nuestra ventana para que sea la caja que acabamos de crear. Ahora sigamos adelante y ejecutemos esto. Voy a correr Python q star octopi. ¿ Verdad? Entonces sí tenemos un error. Y esto es porque no agregamos en cuanto a aquí. Ahora creo que estamos bien. Vamos a correr otra vez. Y nos dieron nuestros widgets. Ahora, lo que realmente necesitamos hacer es simplemente añadirles algo de información. Por lo que vamos a crear unas cuantas pilas o unas cuantas funciones que nos permitan agregar algo de información a este SASA que acabamos de crear. Entonces sigamos adelante y lo hagamos. Aquí mismo. Voy a crear la función que es para pila uno. Y en esta función, solo voy a crear un formulario, tú diseño de forma. Y entonces lo que vamos a hacer es agregar el FirstName y LastName, tal como lo hicimos para los datos de DQ. Por lo que el nombre de pila va a ser de la etiqueta Q. Y esto será solo nombre o tal vez FirstName. Y luego vamos a tener LastName, que es Q label to. Permítanme borrar este igual de aquí. Por lo que esta etiqueta ACU por apellido. Y entonces sí tenemos la línea en ello. Entonces la línea 1 va a ser igual a q línea Editar. Y entonces la línea dos también va a ser igual a otra línea Q Editar. Y entonces lo que vamos a hacer es agregarlos a la forma en una especie de fila. Tenemos FirstName con su línea correspondiente, que Islam uno, y luego otra fila con el apellido más la línea 2. Y lo conseguimos ahora. Entonces eso es todo. Básicamente esta es nuestra forma. Ahora lo que tenemos que hacer es simplemente poner el retraso fuera de nuestro primer paso para ser esto, ¿verdad? Entonces lo hacemos simplemente añadiendo s1 dot set layout para ser esta forma que acabamos de crear. Entonces ahora esto es para la pila uno. Podemos hacer exactamente lo mismo para stat a antes de intentar mostrarlo. Por lo que sí tenemos personal para justo aquí. Y tal vez déjame simplemente copiar el mismo código y cambiar algunas líneas por aquí. Entonces voy a conseguir esto y ponerlo aquí. Y lo que vamos a hacer es simplemente cambiar el diseño de S2. Y esto, por ejemplo, seremos el primer segundo, solo para cambiar nombres, para saber que cambiamos las pilas cada vez que acabamos de ejecutar este código. Ahora si seguimos adelante y ejecutamos esto, como podemos ver, podemos ver cualquier cosa por ahora porque no agregamos ninguna lista que nos permita pseudocódigo cambiar entre estas etiquetas. Y una forma de hacerlo es simplemente usar el widget de lista de cue. Y esta será una lista a la izquierda de la pantalla donde podrás cambiar entre las pilas y elegir una de ellas. Entonces sigamos adelante y lo implementemos. Entonces después de crear los widgets, pero en realidad podemos hacer es crear una lista de tipo cue, widget de lista. Y esta lista nos permitirá tener unas cuantas cosas aquí mismo. Podemos insertar artículo. Y este ítem estará en el índice 0, y voy a nombrarlo pegado uno. Y luego vamos a insertar otro elemento. Y esto debe estar en el índice 12 se apilarán dos. Y ahora, después de insertar estos, lo que realmente vamos a hacer es simplemente agregar esto a nuestra caja que acabaría de crear. Entonces antes de agregar la pila de widgets, vamos a agregar aquí la lista real que acabamos de crear. Ahora, sigamos adelante y ejecutemos esto. Y vamos a ver algo así. Sí nos hemos atascado uno y el paso dos y podemos cambiar entre. Pero no podemos simplemente ver la pila real que acabamos de crear todavía. Y esto en realidad es porque en realidad no llamamos a estas funciones aquí mismo. Entonces déjame seguir adelante y hacerlo después de crear la lista. Y lo podemos hacer aquí, por ejemplo. Voy a hacer pila uno. Y luego vamos a usar la pila dos. Y ahora sigamos adelante y corremos esto de nuevo. Y podemos ver que tenemos nuestra pila. Sí tenemos pila uno, que es para FirstName y LastName. Entonces sí tenemos pila dos. Y por supuesto, no pasará nada por ahora porque en realidad no cambiamos ni cambiamos nada cada vez que presionamos in situ o desapilar uno. Y necesitamos hacer una función que haga este trabajo por nosotros aquí mismo. Entonces, ¿cómo lo hacemos? Simplemente podemos usar el método de cambio de fila actual que acabamos de tener. Y esto nos permitirá cambiar entre los impuestos, estas pilas que acabamos de crear. Y para ello, vamos a decir eso siempre que tengamos algo de la lista. Entonces si la lista eso, y vamos a usar aquí disfunción fila actual cambió. Vamos a conectarlo a una función que togas o cambia la pila real. Vamos a nombrarlo pila cambiante. Y vamos a crear el escritor de funciones. Claro, cambio de pila. Y esto nos permitirá cambiar entre las diferentes pilas que tenemos. Y en este caso, lo que vamos a hacer es simplemente agregar stack, el estilo que acabamos de crear a partir de aquí. Y vamos a fijar el índice actual al índice que vamos a sacar de este de aquí. Entonces para obtener el índice que tenemos de la lista, podemos usar simplemente listar punto fila actual. Y ya tenemos, así que si sigo adelante y vuelvo a ejecutar esto, vamos a conseguir algo así. Entonces estamos atascados. Una, si presiono en el paso dos, vamos a cambiar. Por lo que tenemos stack one, firstName, lastName, stack to first. Segundo, como podemos ver, cambiamos entre estas tareas usando esta lista. Entonces déjame seguir adelante y hacer una recapitulación rápida aquí mismo. Entonces lo que creaste primero, Las pilas que acabamos de tener, apilar uno y paso dos. Después creamos un widget de lista de cue. Agrega estos en ella, lo que indica que esta es la pila uno y esta es esa dos. Y luego cada vez que presionamos sobre cualquiera de estos de la lista, nosotros, lo que acabamos de hacer como llamar a esta función que se apila cambiando y luego obtener el índice en el que estamos en la lista. Por ejemplo, aquí estamos en el índice 0. Entonces vamos a Stat cambiando y configuramos la pila que acabamos de crear, que está aquí mismo, donde agregamos nuestros S1 y S2 y cambiamos el índice en consecuencia. Entonces si estás en el índice 0 en la pila, vamos a tener aquí de la pila la información de la pila uno que está en el índice 0. Entonces si cambiamos esta lista al índice uno, que está apilada dos, vamos a conseguir lo que tengamos dentro de la pila en el índice uno, que en realidad es esta pila a la que acabamos de crear. Entonces eso es todo. Básicamente así es como podemos cambiar entre pilas. Se pueden hacer muchas cosas con ellos. Y este es simplemente básicamente el diseño básico que podemos crear usando DQ sta, que a eso tenemos en Pike modificado. Entonces eso es todo básicamente para este video. Nos vemos en el siguiente. 22. Splitter: Hola y bienvenidos de nuevo. En este video, vamos a pasar por la clase splitter en archivo Python. Se trata de una clase simple pero avanzada o tenemos. Entonces sigamos adelante y creamos así Q split del pastel. Y lo que vamos a hacer es, como siempre, vamos a copiar las imputaciones. Y luego vamos a crear la app y simplemente mostrarla y simplemente ejecutarla. Ahora lo que podemos hacer es crear realmente algunas cosas. Entonces voy a crear tal vez dos o tres adultos de línea q donde sí tenemos o tal vez simplemente crear un crédito fiscal. Entonces déjame seguir adelante y hacerlo aquí. Entonces vamos a tener un T1 para textil a texto editar uno de tipo q texto edit. Y podemos poner texto en esto como T1. Entonces vamos a tener T2, que también es Q text edit. Y voy a poner el texto en esto como T2. Y por último T3, que también se agregan textos Q. Y esto será esto como T3. De acuerdo, entonces ahora estamos bien. Tenemos todas nuestras ediciones de texto. Y lo que vamos a usar es un divisor de colas. Este divisor Q en realidad va a ser el que corta la ventana en lo que queramos. Entonces sí tenemos dos cosas. Puede ser ya sea horizontal o vertical. Entonces déjame demostrarme y el ejemplo, lo voy a nombrar como uno que indica este divisor, uno va a usar q splitter, y voy a usar q t punto horizontal para simplemente dividir nuestra ventana horizontalmente. Ahora lo que vamos a hacer es agregar widgets a este divisor. Por lo que s1 punto agregar widget. Voy a añadir t1 y luego voy a sumar 32. Por lo que s1 punto AGREGAR t2. Y entonces lo que vamos a hacer es simplemente establecer el diseño de esto para que esté dentro de nuestra ventana. Y para hacer eso, en realidad necesitamos una caja de salami. Sólo tienes que seguir adelante y crear un aquí realmente rápido. Voy a usar una caja horizontal para esto. Entonces QH se aparca, y esta será nuestra caja y simplemente vamos a añadir a ella usando el widget Agregar. Así que agrega widget. Y vamos a añadir un cisne. Y luego lo vamos a mostrar o establecer el diseño de nuestra ventana para que sean los radios ¿acabamos de crear? Ahora si seguimos adelante y ejecutamos esto. Entonces Q splitter, sin pastel. O llegar a algo como esto. Sí tenemos esto como T1 y T2. Y como puedes ver, hay divididos por la mitad porque usamos el divisor horizontalmente. Ahora como podemos ver, sólo tenemos estos dos por ahora. No agregamos este D3 y a ninguno de esos. Ahora lo que vamos a hacer es 2. Simplemente agregue tal vez otro T4. Eso es un lindo emocionado también. Y entonces vamos a ponerlo para que sea esto es T4. Y lo que vamos a hacer ahora es crear otra capa que también sea horizontal. Entonces lo voy a nombrar Q splitter. Y esto nos permitirá tener QT también punto horizontal. Y ahora lo que también podemos hacer es agregar estos widgets. Entonces t3, y voy a agregarle t4. Y luego lo vamos a agregar a nuestra caja. Entonces si agregamos criterios, así que agregamos widget y vamos a agregarle dos. Ahora, si seguimos adelante y ejecutamos esto de nuevo, podemos ver que obtenemos múltiples widgets o múltiples auditorías solo fiscales que son solo horizontalmente, se hace añicos. Ahora lo que realmente podemos hacer es tomar estos dos y colocarlos aquí abajo. Entonces en lugar de tenerlos todos estos cuatro patas en la misma sonda, realidad podemos tener T1, T2, T3, y T4 aquí mismo. Y una forma de hacerlo es utilizarlos mejor verticalmente. Entonces lo que voy a hacer aquí es usar S2 para ser la pestaña divisor solo vamos a crear o tal vez S3. Déjame crear otro spinner. Y esto será q t punto vertical. Y esto nos permitirá almacenar mejor el primero y luego el segundo sputter uno encima del otro. Entonces voy a sumar a esto. Entonces voy a añadir widget y añadir un cisne. Y voy a añadir S2. Ahora en lugar de agregar estos conmutadores S1 y S2 a la caja, simplemente vamos a agregar el S3 que acabamos de crear. Entonces caja eso, agrega widget, luego agrega S3. Ahora déjame cerrar esto y volver a ejecutarlo. Podemos ver ahora que tenemos a nuestros cuatro adultos fiscales y tienen mejor aspecto que los anteriores. Entonces lo que realmente hicimos es que creamos tres sputters. El primero es horizontal para sumar T1 y T2. Y esta forma tenemos T1 y T2, son horizontales. Y entonces sí tenemos otro sputter pedido agregar T3 y T4 como podemos ver. Y después de eso, usamos un sputter vertical para agregar S1 y S2. Y recuerda que t1 y t2 se forma como una, T3 y T4 se forma como dos. Entonces tenemos T1, que es esto aquí mismo. Y tenemos en cuanto a que tiene también esto. Y los agregamos verticalmente usando el divisor S3. Y entonces lo que realmente hicimos es que agregamos todo el sputter S3 en la caja o acabamos de crear. Muy bien, así que esta es la clase widget de QRS Player y pi 35, simplemente está en uno avanzado. Se pueden hacer muchas cosas con él. Tal vez puedas cambiar estos créditos fiscales y por lo que quieras. Y es una función muy poderosa que puedes usar y será una gran plus 2 las cinco aplicaciones Piketty que vamos a crear más adelante. Entonces con eso dicho, este es el final de la clase de jugadores sesgados. Nos vemos en el siguiente video. 23. Dock: Hola y bienvenidos de nuevo. En este video vamos a hablar la clase Q dot que tenemos, n pi 35. Entonces sigamos adelante e iniciemos nuestra aplicación. Voy a crear una aplicación Q, sys.path, RGB como de costumbre. Entonces voy a crear una ventana principal de cola y emitir w. Y entonces lo que voy a hacer es simplemente mostrarla. Y después de eso, voy a salir del sistema ejecutando la aplicación. Ahora lo que vamos a hacer es crear tal vez algún tipo de bichos. Simplemente voy a crear una caja QH por ahora. Y entonces a lo que voy ahora mismo es quizá una barra de menús solo para mostrar una pantalla con unos elementos simples o básicos. Entonces lo voy a nombrar MB barra de menús, y esta será w.menu bar como de costumbre. Ahora lo que vamos a hacer es agregarle unas cuantas cosas. Entonces por ejemplo, voy a sumar primero. Dos serán Mp que añada menú. Y esto será primero. Y luego tenemos segundo y B.me, segundo. Ahora si queremos ver esto, lo que realmente podemos hacer es simplemente agregar esta barra de menús al diseño real o a la ventana real que tenemos. Entonces haz eso, simplemente podemos agregarlo por, déjame simplemente agregar el diseño aquí mismo. Y note que realmente no necesitamos esto por ahora porque creamos la barra de menús desde la ventana. Entonces, por ejemplo, si sigo adelante y lo pruebo aquí y ejecuto esto, voy a conseguir algo como esto. Un espejo sobre Python, q doc. De acuerdo, entonces tenemos primero, segundo, y todo. Se ve bien. Ahora, vamos a cerrar esto e intentarlo de nuevo. Muy bien, entonces esta es nuestra solicitud por ahora. Ahora, lo que vamos a hacer es crear un widget de pato de cola. Entonces voy a seguir adelante y crearlo aquí. Voy a llamarlo pato. Será de clase Cola de widget de pato. Y lo voy a nombrar tú doc por simplicidad. Entonces este es nuestro widget CUDA Tk. Ahora, lo que vamos a hacer a continuación es quizás crear una lista de widgets y agregarles algunos elementos. Entonces, por ejemplo, podemos crear una lista. Voy a nombrarlo lista, widget Q más cool. Y esto nos permitirá simplemente agregarle algunos artículos. Tan listada Agregar Artículo, lo va a nombrar uno, lista, ítem dos. Y por último ajustado agregar artículo. Y este es el punto tres. Y finalmente el último serán cuatro, así que tenemos cuatro artículos. Ahora lo que vamos a hacer es simplemente establecer el widget de nuestro widget dock para que sea esta lista real que acabamos de crear. Entonces para hacer eso, simplemente podemos establecer widget y vamos a establecer el presupuesto para que sea la lista real que acabamos de crear. Y después de eso, déjame volver a ejecutar esto. Vamos a cerrar. Está bien, así que sí tenemos el diseño de colas y no teníamos no teníamos el dock de colas. Y esto es porque no agregamos esto a la pantalla. Entonces una forma de hacerlo, simplemente podemos agregarlo mediante el uso de w que agrega widget doc. Y en realidad podemos especificar su posición. Por lo que sí tenemos el área de widget doc left, doc dot derecho, top, doc bottom y no ocurren. Entonces vamos a ir quizá con el doc izquierdo, que área de TI en este caso. Y esto nos permitirá conseguir, está bien, así que simplemente podemos presionar Q, t y luego dejar el área de widget doc. Muy bien, Así que estamos bien ahora sí tenemos nuestra zona y vamos a sumar los criterios oscuros que acabamos de crear. Y después de eso, simplemente podemos volver a ejecutar nuestro código. Y como podemos ver, tenemos nuestro q punto justo aquí. Contamos con nuestros artículos. Ahora si lo presiono o hago doble clic en él, puedo moverlo Para alejarse de la pantalla. Y si vuelvo a hacer doble clic en él, voy a recuperarlo. Y nuestra pantalla. Ahora como pueden ver, porque no teníamos nada más en nuestra zona, pesar de que especificamos que debería estar del lado izquierdo, se llevó toda la pantalla y esto es porque no tenemos nada más que mostrar. Entonces si seguimos adelante y tal vez un add, cualquier cosa aquí mismo, Supongamos que quiero ataques Editar. Entonces puedo seguir adelante y añadirlo y aparecerá, y esto llegará al lado izquierdo de la zona. Ahora sí tenemos algunas otras funciones. Y una de ellas son las características del set. Y esto es para establecer la característica de la ventana del muelle. Podemos hacerlo cerrable, movible, flotable. Y sí tenemos la barra de título vertical del widget doc. Y también tenemos el no doc que AT características. Y esto nos permitirá no tener características y nuestro doc por ahora. Y esto es básicamente esto son cuatro, esto es para la clase Q dot y Piketty cinco. Es una gran clase de usar, sobre todo cuando sí necesitamos mover algunos perros y tal vez crear múltiples pantallas que puedan moverse y hacer cualquier cosa con ellos. Entonces eso es todo básicamente para este video. Nos vemos en el siguiente. 24. Barra de desplazamiento: Muy bien, entonces en este video vamos a discutir la clase de barra de desplazamiento de cola y Pi purificado. Entonces sigamos adelante y creamos, vamos a crear un nombre de script cuz barra de desplazamiento pastel. Y en el guión vamos a importar todo lo que tenemos aquí. Y luego simplemente crea la aplicación usando una aplicación de taco simple. Y vamos a cambiarlo la ventana principal a una cola, que por ahora. Y entonces por supuesto lo vamos a mostrar y salir del sistema ejecutando la app. Muy bien, entonces ahora estamos bien. Podemos empezar con nuestra aplicación principal hacia lo que voy a hacer es simplemente crear una cola VBox. Entonces voy a tener el diseño Q vBox. Y dentro de esta caja vamos a tener un par de cosas. Entonces lo primero que voy a hacer es tal vez solo crear una barra de desplazamiento simple que solo podamos ver. Entonces lo vamos a crear. Voy a nombrar una barra de desplazamiento. Y será de tipo barra de desplazamiento. Y estamos bien. Ahora lo que vamos a hacer es simplemente agregarlo a la caja que teníamos. Así box dot add widget. Y le voy a sumar esta velocidad. Y por supuesto después de eso, simplemente vamos a establecer el diseño de nuestra ventana para que sea esta suma recién creada. ¿ Verdad? Entonces déjame seguir adelante y ejecutar esto solo para tener una idea de dónde hemos construido. Dile ahora que sí. Podemos ver que tenemos nuestra barra de desplazamiento justo aquí. Y ahora si lo incrementamos, podemos aumentar la longitud de la misma aquí mismo. Por lo tanto, permítanme establecer la geometría de la ventana en 500s. Y eso es intentarlo de nuevo. Y vamos a conseguir algo así. De acuerdo, así que ahora sí tenemos dos funciones que podemos usar y esta clase de palanca de jugo, la primera es el deslizador movido, y la segunda es el valor cambiado. Y solemos usar el deslizador movido siempre que queramos saber si usan en la diapositiva. Por otro lado, el valor cambiado se suele usar si queremos saber si el valor de las barras de desplazamiento cambió. Entonces, en otras palabras, si queremos saber cada vez que el valor está cambiando, pesar de que el usuario no acababa de soltar el control deslizante todavía. Necesitamos usar el control deslizante movido y el cambio devaluado es siempre que el usuario realmente suelte el control deslizante. Entonces sigamos adelante e implementemos algunas de las funciones. Entonces por ejemplo, vamos a empezar con el deslizador movido. Y en este caso, déjame usarla aquí. Se movió. Y en este caso lo vamos a conectar a una función que es Slider mover. Y yo lo voy a crear aquí. Entonces slider moviéndose y simplemente vamos a imprimir el valor de nuestro intervalo. Muy bien, entonces tenemos aquí el deslizador moviéndose. Y en este caso, realidad podemos simplemente devolver el control deslizante que tenemos y simplemente imprimir su valor. En realidad no tenemos que lidiar aquí, pero podemos hacerlo. Voy a imprimir aquí Sb ese valor. Y ahora si seguimos adelante y ejecutamos esto, vamos a conseguir nuestro slider o barra de desplazamiento. Y en este caso, cada vez que lo presione y lo mueva, voy a conseguir esto justo aquí, pesar de que aún no lo liberé. Y sí tenemos todos los valores de 0 a un 100 porque es el predeterminado. Siempre podemos cambiarlo. Nuestro set el máximo, mínimo de acuerdo a nuestras necesidades. Pero por ahora este es el método de deslizador movido. Ahora sigamos adelante y tal vez usemos el valor cambiado. Entonces voy a probar el cambio de valores sí conecta y tal vez el cambio de valor. Y en este caso voy a crear una función llamada valor cambiando aquí mismo. Y simplemente imprime el valor de la barra de desplazamiento que tenemos. Y si seguimos adelante y volvemos a ejecutar esto, vamos a ver que tiene exactamente lo mismo que el anterior. Y eso es todo básicamente, esto es todo. Si sigo adelante y vuelvo a correr esto, para éste, vamos a ver que tiene exactamente lo mismo que dijimos. Y vamos a obtener los valores cada vez que cambiemos o cada vez que nos desplazamos usando esta barra de desplazamiento que tenemos. Entonces eso es todo. Básicamente esta es una de las clases más importantes y 35, porque permite hacer múltiples cosas, puede ser simplemente arrastrar estas y que el usuario elija y comercie, por ejemplo, cualquier cosa. Por lo que tiene muchos usos y es muy potente. Con eso dicho, este es el fin de esta clase. Y nos vemos en el siguiente video. 25. Barra de estado: Hola y bienvenidos de nuevo. En este video, discutiremos el estado de cola por clase en Python 35. Entonces sigamos adelante e iniciemos nuestra aplicación usando la aplicación Q como de costumbre. Y luego vamos a crear nuestra ventana. Deberíamos ser una q ventana principal. Y por supuesto que lo vamos a mostrar y ejecutar la app. Pero salir antes. Muy bien, entonces estamos bien ahora podemos empezar con nuestra aplicación. Lo que vamos a hacer es quizá empezar con algo simple como antes, vamos a crear una barra de menús. Para que podamos crear una barra de menús desde la ventana que acabamos de tener. Y lo que vamos a hacer es simplemente agregarle algo de menú. Entonces voy a agregar menú primero y tal vez segundo. Y voy a añadir pocas acciones a esto primero, así que voy a nombrarlo primero aquí. Por lo que puedo acceder más adelante. Y aquí puedo acceder a ella usando Agregar acción. Voy a agregar, tal vez, no sé, tal vez agregar texto y voy a eliminar texto. Entonces estas son las acciones que tenemos en nuestra barra de menús. Entonces sí tenemos ataques o borramos texto. Y lo que vamos a hacer ahora es crear una barra de estado de cola donde podamos tener ya sea mostrar este texto o no en una edición de texto o edición alineada que simplemente podamos crear. Entonces sigamos adelante y hagamos eso. Y lo que vamos a hacer básicamente es crear una barra de estado como B y debe ser barra de estado aguda como esta. Y lo que vamos a hacer es simplemente configurar la ventana para que sea la barra de estado. Por lo tanto, establece la barra de estado para ser SP. De acuerdo, entonces ahora estamos bien. Sí tenemos nuestra barra de estado. No obstante, necesitamos un método para activarlo. Y este método será en realidad siempre que presionemos sobre algo que está en este primero. Entonces sí tenemos primero activado y sí tenemos una acción de cola aquí. Entonces cada vez que hacemos clic en algo en esto primero, lo vamos a conectar a una función que vamos a crear y que hace el trabajo por nosotros. Y en este caso lo voy a nombrar. Que primero recolectemos. Muy bien, para que aquí podamos crear nuestra función. En primer lugar se hizo clic. Y nosotros imprimimos hola por ahora, solo para notar que está funcionando, Ashley. Entonces si sigo adelante ahora y corro esto, voy a conseguir algo así. Y cada vez que presiono sobre ataques o un impuesto D, vamos a recibir hola y a los dos. Entonces esto es básicamente por ahora, para presente segundo o primero, no pasará nada. No obstante, si presiono sobre estas acciones que tenemos aquí, nos vamos a imprimir. Hola. Ahora lo que vamos a hacer en realidad es quizás agregar una edición de texto. Y en esta edición de texto, realidad podemos simplemente agregar un texto o borrado de acuerdo a estas acciones que tenemos para TI. Entonces para hacer eso, en realidad podemos poner el impuesto agregado en la ventana real que tenemos. Entonces tenemos w. y voy a seguir adelante y establecer widget central para que sea una edición de texto. Y voy a nombrarlo gravado al precio aquí. Será edición de texto agudo. Y yo lo voy a agregar aquí. Y luego lo que podemos tener aquí. Si vuelvo a ejecutar esto, vamos a conseguir algo así. Sí tenemos un editor de texto, podemos escribir algo aquí. Ahora lo que vamos a hacer es simplemente añadir unas líneas. Si lo hacemos presionamos sobre el texto del anuncio y tal vez los eliminamos si presionamos sobre la acción de borrar texto. Entonces lo que vamos a hacer es realmente conseguir algunos, voy a nombrarlo tal vez W, o el bien del ejemplo. Y lo que vamos a hacer, esto nos permitirá revisar el texto del menú real que obtuvimos. Entonces si voy adelante y lo imprimo aquí, para que imprima W dot txt. Ahora si seguimos adelante y ejecutamos esto, vamos a conseguir la pantalla. Y si presiono en ataques de sed, vamos a llegar a los impuestos. Y el impuesto, también vamos a conseguir borrar texto. Y como puedes ver, cada vez que los presionemos, se va a llamar a este método desde la acción desencadenada que acabamos de crear aquí mismo. Ahora lo que vamos a hacer es comprobar si este W dot txt es igual a anuncio, entonces vamos a agregar algunas líneas al editor de texto real que acabamos de crear. Entonces f, w punto x es igual a agregar texto tal vez. Y si este es el caso, entonces vamos a agregar al texto editar algo. Entonces vamos a establecer el texto para que sea igual a Hola. Este es el primer texto escrito aquí. Y luego si este no es el caso, entonces si lo siento, como vamos a comprobar, si esto es igual a borrar texto. Y si este es el caso, entonces simplemente vamos a agregar los textos agregados o poner el texto en una cadena vacía. Entonces eso es todo básicamente ahora déjame simplemente corregir esto y creo que estamos bien. Está bien. Entonces eso es todo. Básicamente este es nuestro Dios por ahora. Acabamos de comprobar si necesitábamos agregar el texto o borrado, y solo realizamos la operación de acuerdo al mensaje que acabamos de recibir. Ahora vamos a cerrar esto y volver a ejecutarlo. Y ahora si presiono primero y agrego textos, vamos a ver texto escrito aquí. Y si borré, quién lo puede ver desaparecer de aquí. Entonces esto es básicamente esta es la idea de la barra de estado de la cola. Y cambia el estatus de cualquier elemento de nuestra aplicación Piketty cinco acuerdo a nuestras necesidades específicas. Y en este caso, elegimos que cada vez que presionamos en este menú Agregar, acabamos de crear y cualquier acción que se realice en consecuencia. Y podemos eliminar, agregar y modificar nuestras cinco aplicaciones Piketty utilizando esta función disparada que acabamos crear para este estado de cola, barra, vidrio y archivo Piketty. Entonces eso es todo básicamente para esta clase. Pero dicho eso, este es el final de este video. Nos vemos en el siguiente. 26. Calendario: Hola y bienvenidos de nuevo. En este video vamos a discutir clase dq Telenor en archivo Parquet. Adelante y empecemos a construirlo. Vas a crear un nuevo guión, vas a llamarlo Q calendario, el pastel. Y voy a importar todo lo que tenemos como de costumbre. Está bien, así que dijimos, ahora lo que vamos a hacer es simplemente construir Q, que lo es. Por lo que voy a empezar con la aplicación. Como de costumbre q aplicación y system.out ARG V. Y luego vamos a construir el widget a partir de q widget. Muy bien, entonces muéstralo. Y por supuesto, ejecutar la app. Y ahora estamos bien. Podrás empezar a construir nuestro calendario. Y es una clase real de avance estatal. No tengo mucho que hacer aquí. Acabamos de tener el calendario. Podemos construirlo usando el widget de calendario Q. Y después de eso, vamos a poner la cuadrícula en visible. Y sigamos adelante y visualizémoslo. No obstante, antes de hacerlo, necesitamos agregar esto a nuestra ventana w dot del widget Q. Entonces sigamos adelante y ejecutemos esto. Y vamos a conseguir algo como esto. Y como podemos ver, no podemos encontrar la corriente. Yo diría que acabamos de crear porque no agregamos una ventana de dos horas. Ahora, una forma de hacerlo es simplemente agregarlo usando una caja. Entonces voy a crear una caja QV. Y vamos a añadir este tipo de soapbox para agregar widget. Vamos a añadir calendario. Y después de eso, vamos a establecer el diseño de nuestra ventana, o que tenía que ser este jefe o acabamos de crear. Ahora sigamos adelante y ejecutemos esto. Vamos a conseguir algo como esto. tenemos nuestro contador dentro de nuestra caja que dice el diseño real de nuestro que sí. Podemos ver que podemos elegir cualquier mes, cualquier día, y cualquier fecha en absoluto. Sí tienes los años aquí. Tendremos el mes aquí, y solo podemos escoger cualquiera de estos. Ahora para acceder a estos datos reales, solo estamos accediendo a todos solo presionando. Sí tenemos algunos métodos que hacer. Ahora cada vez que hacemos clic en esta función, necesitamos simplemente imprimir los datos que tenemos. Y lo podemos hacer simplemente usando a los justos. Y, y este caso, vamos a hacer Q fecha. Y después de eso, vamos a conectarlo a la función que sólo tenemos que crear. Y en este caso lo voy a nombrar, fecha cambió. Y aquí vamos a implementar eso. Entonces tenemos cambio de fecha aquí, y vamos a imprimir los datos reales. Tenemos. Entonces para hacer eso, vamos a imprimir calendario eso. Y sí tenemos aquí la fecha seleccionada. Fecha tan seleccionada. Y en este caso, si sigo adelante y corro esto, déjame simplemente cerrar. Y otra vez. Y ahora donde quiera que presione algo o cualquier fecha, lo vamos a ver aquí mismo. Ahora para formatear, en realidad tenemos el método dot toString en Python. Ahora intentémoslo de nuevo. Y vamos a ver que ahora está formateado al nombre del día de la semana, después el mes, y el día del mes, y el año mismo. Entonces eso es todo. Básicamente, esto es para nuestro calendario real tal vez Q y cómo usarlo. Ahora, una característica tal vez adicional que podamos tener, tal vez solo tener un editor de texto Q. Simplemente podemos cambiar tal vez cada vez que presionamos en la fecha que necesitábamos. Y en este caso, en realidad podemos crearlo aquí. Sí tenemos texto agregado a B de q edición de texto. Y estará vacío al principio. Lo vamos a agregar a nuestra caja real. Ahora siempre que cambiemos la fecha, en realidad también podemos cambiar el texto, editar ese setText, ir a establecerlo en calendario, esa fecha seleccionada, eso a cadena. Y ahora si volvemos atrás y damos un toque de refresco, vamos a ver algo así. Ahora hay una edición de texto si lo presiono, vamos a ver las fechas aquí mismo. Entonces eso es todo. Básicamente esto es para la clase de calendario Q, es como podemos usarlo y obtener las fechas del usuario y de código Pi. Entonces eso es todo básicamente para este video. Nos vemos en el siguiente. 27. Arrastrar y suelto: Hola y bienvenidos de nuevo. En este video vamos a discutir la clase arrastrar y soltar y parque purificar esta clase muy poderosa donde solo puedes arrastrar algo de cualquier elemento que tengamos y luego simplemente dejarlo caer en otro elemento. Y lo vamos a hacer de la manera orientada a objetos. Entonces pensé, ya que vamos a empezar a construir los proyectos y terminamos con los elementos básicos o widgets básicos. Tenemos. Por qué no empezar con la construcción de clases y funciones y tratar con ellas. Entonces para hacer eso, vamos a crear esta aplicación usando orientado a objetos. De acuerdo, entonces vamos a empezar con nuestra función. Esa es la función principal. Entonces simplemente voy a empezar por crear lo principal y consternado. Lo que vamos a hacer es construir nuestra aplicación, que es Q aplicación. Y puedes seguir este formato en todas las clases o voluminosas 25 aplicaciones que vas a crear lo simple y decir adelante. Entonces lo primero que vamos a hacer es poner nuestra función principal y disfunción. Vamos a crear la aplicación y luego vamos a crear nuestro presupuesto. Entonces voy a nombrar ahora una clase. Voy a nombrarlo para presupuestar sólo por el bien del argumento. Por lo que nuestra clase es widget y tomará la Q real que es que necesitamos crear. Ahora siempre que necesitemos un widget de cola, simplemente podemos llamar a esta clase. Está bien, así que voy a nombrarlo w, y será simplemente q widget. Perdón, la clase que acabamos de crear. Y ahora estamos bien, en realidad podemos mostrarlo y luego ejecutar la app. ¿ Verdad? Entonces ahora estamos bien. Podemos empezar a construir nuestra función aquí. Entonces esta es la clase principal que tenemos ahora, que se llama widget. Y ahora necesitamos definir el constructor de esta clase. Y en Python, lo hacemos de esta manera. Simplemente podemos llamar al init y hará todo el trabajo por nosotros. Pero realmente no necesitamos todos estos. Simplemente podemos usarlo con auto solo para, déjame simplemente escribirlo y luego explicarlo. Entonces vamos a llamar al super y simplemente editar así. Entonces esta es nuestra función básicamente toda deconstruida que vamos a crear o con la que vamos a trabajar. Y ahora usamos este yo. Ahora cada vez que uses el yo, simplemente vamos a estar abordando este widget Q que tenemos aquí mismo. Entonces, por ejemplo, si digo self.name geometría, Supongamos que esto nos permitirá simplemente establecer la geometría de nuestro widget, que es W writer, para ser igual a la que queremos. Entonces eso es todo. Básicamente esta es la idea de este sencillo widget de cue. Nuestro construido que tenemos justo aquí. Ahora lo que vamos a hacer es simplemente crear una función. Y esta función sólo hará el trabajo por nosotros. Entonces la idea de esto es tener tal vez una línea donde el usuario pueda ingresar algún código y simplemente arrastrarlo y soltarlo en otra línea, o tal vez un impuesto en ella. Entonces lo vamos a hacer por tal vez déjame sólo alinear al texto. Y esto tomará el auto como parámetro. Y ahora podemos empezar por crear la línea en ella. Entonces le voy a nombrar Line Edit. Y será de clase q line a ello como de costumbre. Y esto será un vacío. Y por supuesto, vamos a necesitar el yo aquí mismo. Y lo que vamos a hacer ahora es crear otro, tal vez algún tipo de elementos. Supongamos que necesitamos un crédito fiscal en este caso. Y simplemente voy a crear textos a los criterios. Y esta edición de texto también será tal vez nada y también celdas. Ahora lo que vamos a hacer aquí es especificar o habilitar la característica de medicamento dentro de esta edición de línea. Entonces voy a llamar a la edición de línea. Y eso habilitó y, o tal vez establecer arrastrar habilitado. Está bien, así que sí lo tenemos aquí cierto. Y ahora si llamo a este método que tenemos justo aquí en el constructor que acabamos de crear. Entonces si ejecuto este código, vamos a conseguir algo como esto. Si tan solo aumento esta longitud, anchura. Y podemos ver que aquí tenemos nuestra línea en eso. Y también tenemos el impuesto en ello. Ahora lo que realmente podemos hacer es quizás agregarlos a tipo de caja y luego simplemente agregar esto o establecer el diseño de nuestra ventana o widget para que sea esta caja como antes. Entonces tal vez crear diseño de caja QH. Y ahora dentro de esta caja vamos a sumar estos dos. Entonces caja que agregan widget. Voy a agregar edición de línea y bugs que agregan widget. Y vamos a sumar también los textos criterios añadidos. Y entonces por supuesto, simplemente vamos a establecer el diseño de nuestro widget. Y recuerda siempre que necesitemos abordar este widget, podemos llamar desinteresados a la disposición. Y vamos a abordarlo así y añadirlo a la disposición. Ahora volvamos a ejecutarlo. Y así podemos ver que tenemos nuestra línea añadida y nuestro texto editar justo aquí. Ahora lo que vamos a hacer es simplemente crear alguna función que nos pueda conectar para la función drag and drop. Por lo que una función es el evento drag enter. Y esto nos permitirá, siempre que tal vez escribamos algo aquí y lo llevemos y lo podemos arrastrar y nos va a guardar la información hasta que simplemente lo soltemos en cualquier otro lugar. Entonces hagámoslo por ejemplo. Y para eso, simplemente vamos a construir otra función u otra clase. Para el arrastrar y soltar. Voy a llamarlo drag drop. Y esta función tomará tal vez solo una edición de impuestos Q por ahora. Esto nos permitirá a La derecha en este cubo TextEdit. Ahora lo que vamos a hacer es simplemente definir al instructor como de costumbre. Y instrucción vamos a tener yo que vamos a tener cualquier cosa que podamos nombrarlo T por título. Y vamos a tener al padre desde el constructor más temprano. Entonces vamos a llamar a super como de costumbre y a un IT. Al igual que antes, sin embargo, necesitamos preguntar parámetros, la T y el padre y lo explicaré en un minuto. Ahora lo que vamos a hacer es aceptar las gotas aquí. Entonces vamos a llamarnos a sí mismo que aceptar. Está bien, así que establece excepto gotas y vamos a poner un verdadero. Y luego lo que realmente necesitamos hacer. Está bien, así que esto está aquí. Y tenemos, ahora lo que vamos a hacer es crear las funciones que son, tal vez necesitamos que solo arrastren este ítem o donde tengamos el elemento y dejarlo caer en otro elemento. Y lo voy a nombrar que entrar evento. Esta es una función incorporada, pero es necesario especificar todo en ella. Entonces déjame escribirlo así y vamos a trabajar con ello. Entonces lo primero que vamos a hacer es simplemente obtener datos. Y vamos a comprobar si los datos que estamos obteniendo son un texto y vamos a aceptarlo. De lo contrario lo vamos a ignorar. Entonces para hacer eso, vamos a usar F y D. Vamos a usar la función, mis datos. Y si el formato es en realidad un texto o un avión, vamos a simplemente aceptar. Entonces d que acepten. De lo contrario, simplemente vamos a ignorar. Ahora esta es la función principal a la que vamos. Se va a decidir o tenemos un texto plano que podemos aceptar, o simplemente ignoramos lo que tengamos dentro del elemento e ignoramos el evento drop más adelante. Ahora el evento drop es en realidad otra función. Y esto nos permitirá simplemente dejar caer lo que tengamos dentro de nuestros textos o edición de texto. Sí. Está bien, así que para hacer eso, simplemente vamos a llamarnos a sí mismo ya que tenemos al editor de Cutex. Y dentro de esto, vamos a poner el texto en lo que realmente tengamos. Entonces los datos que dx por dt aquí, y creo que estamos bien. Entonces sono, lo que vamos a hacer básicamente es cambiar esta edición de texto de Cutex añadido a la clase que acabamos de crear. Recuerda que construimos el lindo emocionado aquí dentro de esta clase. Tenemos algunas funciones relacionadas con este editor de texto donde podemos comprobar si los datos gravados y si este es el caso y el usuario dejó caer algo en esta edición fiscal, vamos a poner el texto en donde tengamos aquí. Y para ello, permítanme simplemente escribir esto corregido. Y lo que vamos a hacer ahora es cambiar, como dijimos. Y cambio esto en arrastrar y soltar. Y lo vamos a tener vacío al principio. Y nos vamos a llamar a sí mismo por eso. Entonces esto es básicamente esto son nuestras clases. Ahora vamos a seguir adelante y a correr de nuevo. Y ahora como pueden ver, si escribo algo aquí y simplemente lo arro y lo suelto, podemos verlo transferido a un. entonces si lo hago de nuevo, lo vamos a conseguir aquí mismo. Y por supuesto podemos cambiar cualquier cosa más brillante porque es una edición de texto, el final del día. Ahora bien, esta es una gran clase que podemos usar en Python. Refine esto un poco complicado, pero si solo entiendes la idea y cómo funciona, todo estará bien. Entonces, para recapitular, donde estamos sombreados es que utilizamos programación orientada a objetos para construir esta función o hacia esta aplicación pi 35. Y lo hice porque pensé que pronto vamos a empezar con proyectos y necesitamos poder trabajar con clases, funciones, y no solo escribir lo real tal vez widgets o características y los métodos que tenemos. N pi podría hacer cinco clases. Y esta es una gran manera de empezar. Construimos el widget que hicimos. Esto es w Lo construimos desde aquí, y definimos el constructor. El constructor no es más que el elemento de inicio o lo que sea que empecemos dentro de nuestra clase que construimos. Y esto instruyó acaba de llamar el super. Es solo función principal la que debe llamarse. Y entonces lo que vamos a hacer es simplemente llamar a cualquier función que necesitemos. Y esta es la línea dos textos que acabamos de crear aquí. Y esta función tuvo varios elementos que tenemos. Dentro de esta función, en realidad tenemos otra clase que es el drag drop. Entonces si seguimos adelante y lo miramos, vamos a encontrar también cosa similar. Sí tenemos el constructor. Sí tenemos también algunas funciones que podemos usar. Y por supuesto, todo esto es aceptado porque acabamos de poner las gotas de aceptación en verdad. Y también dijimos el DAG incapaz de verdad aquí también. Entonces, ¿esto es básicamente esto es para la función drag and drop o clase en Pike purificar? Entonces dicho eso, este es el final de este video. Nos vemos en el siguiente. 28. Descarga de diseñadores Qt: Muy bien, entonces en este video vamos a instalar diseñador QT. Y es una herramienta que nos permite crear estas aplicaciones de pike ED50 con las que hemos estado trabajando usando solo arrastrar y soltar. Podemos tener nuestras aplicaciones Piketty cinco con diferentes resoluciones. Tamaños, puede cambiar los colores. Podemos agregar ediciones fiscales, ediciones de línea, los widgets con los que trabajamos antes. Podemos hacer todo eso usando una herramienta sencilla. Ahí está el Diseñador de consultas. Ahora para hacerlo, podemos escribir, debería intentarlo, Pip, puede resolverlo usando pip. Por codificar. Vamos a instalar por 35 las herramientas. Y tengo el diseñador de consultas en mi escritorio y, y mi caso voy a ver requisitos ya satisfechos. No obstante, en tu caso, se va a descargar, probarlo aquí después de que se descargue esto pero puedes hacer en realidad es escribir diseñador QT. Y ésta es con la que estaremos trabajando. Y esto saldrá aquí mismo. Entonces podemos crear dialecto con botones, sin botones, y tal vez simplemente cerrarlo por ahora. Y estos son todo lo que necesitamos. Tenemos los layouts, espaciadores, botones, y poner widgets. Todas las cosas que hemos discutido antes, como el editor de líneas, TextEdit, caja de gasto, caja de doble gasto. Ahora, el siguiente par de videos podemos aprender a usar el diseñador de QT y diseñar biografía similar cinco aplicaciones o hacer características similares que hemos hecho antes. Y luego vamos a empezar con algunas aplicaciones o algunos mini-proyectos que nos permitan utilizar múltiples características, botones, widgets desde aquí, y para construir un mini-proyecto o muchas aplicaciones que puede trabajar con. Entonces eso es todo básicamente para este video, es como podemos instalar este diseñador de QT. Nos vemos en el siguiente. 29. Introducción a Qt Designer Designer: Hola. Entonces en este video vamos a hablar un rato de diseñador de QT. Vamos a discutir las ventanas, como el cuadro de widgets que tenemos aquí mismo. Tenemos algunas cosas aquí en el menú, y también tenemos algunas ventanas aquí mismo. Entonces de lo primero de lo que vamos a hablar es de la barra de Menú Principal. Sí tenemos el archivo para agregar nuevo archivo. Y sí tenemos algunas plantillas aquí. Por ejemplo, tenemos con botones, bien, y tensor con botones, ¿de acuerdo? Se pone la derecha aquí sin botones, ventana principal, y presupuesto. Entonces básicamente, la mayoría de las veces podemos usar los diálogos sin botones. Va a tener una ventana sencilla como ésta. Y donde quiera guardarlo, puedes controlar y guardar. Y va a salir como la GUI, que es la IU que vas a crear. Este diseñador QT. No es un código. Hay una manera de simplemente convertirlo a código Python, pero por ahora solo lo puedes tener como u i Ahora sí tenemos también esta edición aquí mismo. Y esto es para editar widgets y lodo secundario. No lo vamos a usar por ahora. Hay un uso de la misma que podemos usarlo más adelante. Sí tenemos la vista de widget. Se puede ver el cuadro del widget o simplemente eliminarlo, se pueden quitar los recursos de aquí, así sucesivamente y así sucesivamente. También tienes las preferencias que puedes elegir, puedes cambiar la plantilla y así sucesivamente. También tenemos la ventana para minimizarla o maximizarla aquí mismo. Entonces también tienes la sección de ayuda aquí. Ahora lo que nos interesa son las cajas de widgets aquí mismo. Por lo que sí tenemos la función de filtro o la opción de buscar cualquier cosa específica que queramos. Por ejemplo, tenemos verticales, sí tenemos diseños, espaciador, barra de desplazamiento y deslizadores. También tenemos línea. Entonces esta es una gran manera si quieres algo específico y lo necesitas, por cierto, solo puedes probarlo su nombre aquí. Por ejemplo, casilla de verificación. Y luego sólo tienes que hacer click en él y dejarlo aquí. Y te vamos a tener la casilla de verificación aquí mismo. Ahora, pasemos a otra cosa que es el inspector de objetos, y ésta es ésta. Entonces básicamente esta idea de espectros ópticos es proporcionar una vista previa de todos los objetos en el foro actual. Entonces ahora mismo no tenemos, no tenemos nada. Pero por ejemplo, si arrastro esto aquí mismo, vas a ver algunas cosas. Déjame simplemente aumentarlo un poco. Y vamos a tener un diálogo de colas. Ahora movamos otra cosa que vamos a tener aquí, un espaciador. Tenemos el diseño de caja QV que acabamos de obtener. Y siempre que añadamos algo va a estar aquí mismo, el inspector de objetos. Entonces tenemos la clase justo aquí y el objeto en sí. Y esta es una gran manera de hacer un seguimiento de todos los elementos actuales que tenemos en nuestra aplicación de lucio R15. Ahora vamos a borrar. Estos. Si tienes diálogo dQ, tan simple como eso, porque esta es una pantalla vacía donde creamos un diálogo de cola sobre ella. Ahora pasemos a otra ventana que es el editor de propiedades. Y este editor de propiedades es una ventana la cual es responsable de lo que aparezca en la ventana principal de diseñadores de QT. Entonces, por ejemplo, si estamos en esta ventana, vamos a conseguir aquí todos los elementos. Entonces déjame simplemente aumentarlo un poco. Ahora, vamos a movernos, por ejemplo, hay un espaciador. Lo vamos a conseguir aquí. Tienes la orientación tipo de tamaño horizontal se está expandiendo y sugerencia de tamaño solo defectuoso por 20. Y esto es para el espaciador arrastrar y soltar y otra cosa aquí mismo, yendo a ver la casilla de verificación. Y si vuelvo a este, vamos a ver el espaciador. Entonces es a la que estamos señalando en la pantalla aquí mismo. Por lo que esto nos dará mucha información sobre el elemento específico y nuestra aplicación moto 35. Ahora pasemos a algunas otras cosas. Entonces, por ejemplo, tendrás el navegador de recursos. Y en este caso, es una forma rápida de agregar recursos como imágenes, iconos, FIS, o cualquier cosa por el estilo. Podríamos necesitar una hora Piketty, cinco aplicaciones. Podemos verlo aquí mismo y usarlo. Ahora, otra cosa es el editor de acción. Y esto proporciona una forma de crear acciones. Y si tenemos algunas formas a las que necesitamos agregar acciones, simplemente podemos agregar las acciones aquí y tal vez volver a usarlas en nuestro foro. Entonces eso es todo básicamente para las ventanas que tenemos en pi o diseñador QT, vamos a utilizar todas ellas básicamente y visualizar o crear un bolsillo de cinco aplicaciones con estos widgets box, inspector de objetos, editor de propiedades, navegador de recursos, y editor nacional. Entonces, dicho eso, este es el final del video de introducción sobre el diseñador de QT. Nos vemos en el siguiente. 30. Caja de widgets: Muy bien, entonces en este video vamos a tener una breve introducción sobre mayoría de las características o la mayoría de los elementos que tenemos aquí mismo y la caja de widgets. No vamos a pasar por todos ellos, sino la mayoría de ellos. Entonces tal vez ahora próximos proyectos, podemos usar algunos widgets que no hemos utilizado. Sí, vale, porque todos tienen la misma idea y lo que son para diferentes usuarios. Ahora lo que vamos a hacer es solo crear, déjame cerrar este. Y de nuevo, sí tenemos el diálogo con botones, con botones, ¿verdad? Y sí tenemos sin botones, la ventana principal y el ancho. Ahora la diferencia entre la ventana principal y el widget es que nos quedamos ¿ cuándo tenemos una barra de herramientas automática que aparece de inmediato? Widget cuando no tenemos eso. Entonces si creo la ventana principal, vamos a tener esta barra de menú de la derecha que está aquí mismo. Ahora lo que realmente podemos hacer aquí es escribir. Supongamos que necesito phi, phi pulse Enter. Se me permite tener algunos menús o acciones aquí mismo. Ahora si presiono en esto, tal vez quiera elegir Editar. aquí voy a copiar al diseñador de QT. No voy a sumar todas estas acciones, sino algunas de ellas. Entonces si tenemos aquí editar, pulsa Enter, vamos a tener tal vez sólo ayuda al final. Entonces sí tenemos estos tres. Ahora si presiono sobre esto, puedo agregar algunas acciones. Por lo que tienes nuevo y abierto y el mismo. Entonces si presiono aquí y escribo nuevo, presione enter, y entonces hemos ofrecido, que también está aquí. Ahora note esta pequeña línea que tenemos, la línea separadora. En realidad podemos construirlo usando el separador add. Entonces si lo presiono, vamos a tener una línea aquí mismo. Ahora, déjame sólo continuar. Sí tenemos salvarnos y salvarnos. Entonces voy a agregar Guardar, Guardar como, y luego tal vez agregar un separador, y luego simplemente dejar de fumar. Entonces eso es todo. Este es nuestro archivo pasiones. Ahora si solo queremos hacer algo por la edición, tal vez agregamos corte y copia. Entonces vamos a tener corte y copia. Ahora sigamos adelante y solo lo veamos. Podemos seguir adelante y previsualizarlo y deformarse. Ve a este. Y lo podemos ver aquí. Tenemos nuestro archivo y tenemos nuestra edición aquí mismo. Y cerremos esto y veamos qué tenemos también. Ahora si presiono en esto, voy a ver nuestra acción dentro de este editor de propiedades. Sí tenemos la acción de cola que es para lo nuevo. tenemos el texto que puedo gravar y tooltip de estos referencia a nuevo archivo. Presiona para arriba y vamos a levantarlos y ahorrar, guardar como. Y como puedes ver ahora en el inspector de objetos, vamos a ver todas las acciones y menús que creamos. Entonces si seguimos adelante y lo echamos un vistazo, los vamos a ver a todos aquí mismo. Entonces si tal vez lo aumente, vas a conseguir acción, acción abierta separador acción segura. Debería guardarnos todas las acciones y menús que acabamos de crear. Van a aparecer aquí. Y cada vez que presionemos sobre uno de ellos, vamos a ver los detalles del mismo dentro de este editor de propiedades. Ahora si tú, por ejemplo, necesitas un diseño horizontal, solo puedo conseguirlo aquí. Y este es nuestro diseño horizontal. Por ejemplo, si necesito un pulsador, puedo conseguirlo y colocarlo aquí mismo. Ahora si necesito otro pulsador, que también sea horizontal, porque lo estamos agregando a un diseño horizontal, los vamos a conseguir en forma de manera horizontal. En tanto añado, se van a agregar pulsadores de manera horizontal. Ahora si por ejemplo, permítanme que disminuya el tamaño de esto. ¿ Todo bien? Entonces, está bien, así que este es nuestro diseño horizontal. Voy a crear ahora un layout vertical, que es éste. Incendio en pulsador de la UQ. Voy a conseguirlos y de manera horizontal. Ahora sigamos adelante y eliminemos todo esto. Y ahora vamos a comprobar, por ejemplo, el diseño de la cuadrícula y añadirle algunas cosas. Por lo tanto, permítanme aumentar el tamaño de la misma. Va a agregar esto. Y como puedes ver, se van a sumar en forma de cuadrícula. En tanto siga agregando elementos, se van a agregar así. Ahora, pasemos a otro elemento. Por ejemplo, tenemos el botón de radio. Por lo tanto, permítanme borrar todo esto. Y está bien, así que tenemos el botón de radio. Ahora bien, si solo tomo dos botones de radio, si hago clic en el primero, déjame previsualizarlo. Si hago clic en esto y esto, automáticamente se relacionan entre sí por lo que no podemos hacer click en ambos durante el mismo tiempo. Entonces si hago clic en esto, se desclicaría esto y así sucesivamente y así sucesivamente. Entonces esto es para los botones de radio. Ahora nota si presiono en este, lo vamos a ver aquí. Y el botón de radio, el segundo que acabamos de crear va a ser de no divulgado a automáticamente, que es justo aquí. Y ahora pasemos a las casillas de verificación. Por ejemplo. Si sí tengo varias casillas y lo previsualizo, lo vamos a ver. Y puedo chatear box múltiples opciones al mismo tiempo. Y no tenemos ningún problema con eso. Por lo que sí también tenemos unos botones justo aquí que puedes comprobar, pero estos son los principales. Ahora pasemos a algunas otras cosas. Entonces por ejemplo, tenemos el pelo, la caja de grupos, tenemos la caja de herramientas, y tú también tienes el cuadro combinado. Por lo que sólo así en nuestros videos básicos de widgets. Entonces, por ejemplo, si necesito usar el cuadro combinado, si presiono sobre esto, podemos agregarle elementos. Entonces, por ejemplo, déjame solo editar elementos, y aquí podemos agregar algunos artículos. Por lo que el primer elemento va a ser el punto uno, el punto dos. Y finalmente punto 3. Ahora si presiono OK y OK, lo vamos a ver así. Entonces si sigo adelante y previsualizarlo, vamos a obtener el ítem 1, el ítem 2, y el ítem 3, y podemos elegir entre ellos. Entonces esto es todo para el cuadro combinado. Déjame ver de esta caja de grupo para bala aquí, realidad podemos agregar algunas cosas en ella. Y esto es sólo un contenedor que puede funcionar. Podemos agregarle múltiples elementos bajo el mismo nombre de caja. Ahora, déjame, déjame simplemente borrar esto y pasar a algunas otras cosas. tenemos la edición de línea que hemos utilizado antes. Tenemos detects editar solo una versión más grande de la edición de luz. También tenemos el texto sin formato, y también tenemos la caja de giro que hemos utilizado para adiciones simples y para enteros. Entonces, por ejemplo, si lo previsuamos aquí e incrementamos, vamos a ver 12345 y así sucesivamente y así sucesivamente. También tenemos el tiempo Editar. Y esto nos permitirá hacer lo mismo por el tiempo. Esta vez en lugar de tener enteros. Y pasemos a las barras de desplazamiento. Ahora tenemos las barras de desplazamiento horizontales y verticales. Entonces déjame solo mostrarte la horizontal. Y permítanme añadir la vertical aquí mismo. Vamos a previsualizarlo. Y como pueden ver, podemos movernos aquí mismo con estas barras de desplazamiento. Y pasemos a los deslizadores. Te mostraré el sencillo deslizador, que es el vertical. Y vamos a previsualizarlo. Vamos a ver algo como esto. Ya usamos todos estos en nuestros videos anteriores, pero esta es una forma sencilla donde podemos arrastrar y soltar cualquier cosa que queramos en nuestra aplicación BY no podía vivir. Ahora, sí tenemos algo de trabajo que hacer. Por ejemplo, si queremos hacer algo con este deslizador, toda esta barra de desplazamiento aquí mismo. Si el usuario simplemente lo mueve o envía una solicitud, necesitamos tomar la información desde aquí. El texto o edición de línea o de D es fecha añadida y hora añadida. Entonces vamos a llevar esta información a lo que queramos con ellos. Ahora, sí tenemos también los widgets de visualización donde tenemos las etiquetas, etiqueta simple. Tenemos también las líneas verticales y horizontales. Estas son líneas simples de tener siempre que queremos separar pocas cosas entre sí. También contamos con el navegador fiscal. Y esta es una gran manera donde podemos agregar información. Y déjame simplemente revisarlo. Como se puede ver. Esta es nuestra edición de texto y este es nuestro navegador de textos donde no podemos cambiar la información. Utilizan un no puede cambiar la información. Justo COMO los atmos de las aplicaciones Deepak E5. Y esta es una gran manera de simplemente agregar información en forma de impuesto agregado que el usuario no puede hacer. Entonces eso es todo básicamente para este video, echamos un vistazo a la caja de widgets. Sí tenemos los espacios de disposición, botones. Entonces Sean y nosotros los miramos antes de trabajar con ellos. Y los videos anteriores donde creamos los widgets básicos y agregamos unas líneas de textos, nueve adultos. Y sí trabajamos, hemos trabajado con deslizadores, barras de desplazamiento, etiquetas, y muchos más. Pero esta es una gran manera de verlo en un diseñador de QT, que es esta herramienta que nos permite crearlo con la propiedad drag and drop. Por lo que ahora es muy fácil para nosotros construirlo, pero necesitamos crear las funciones detrás de este sencillo frente y diseño. Entonces eso es todo básicamente. Ahora en los próximos videos, vamos a empezar a construir pequeñas aplicaciones y poner a usar nuestros pi 35 diseñadores de antigüedades pueden enviar. Entonces nos vemos en los próximos videos. 31. Primera aplicación de diseñador Qt: Hola a todos. En este video vamos a hablar del diseñador QT. Ya tuvimos una sencilla introducción e introdujimos lo que es el diseñador QT, cómo usarlo. Y las ventanas que tenemos, todas las características que tenemos esta herramienta. Ahora lo que vamos a hacer es realmente crear una aplicación simple y luego simplemente usarla en nuestro PI podrían ser cinco aplicaciones. Entonces cada vez que creamos una cola, la aplicación de diseñador que van a conseguir un archivo UI. Y necesitamos simplemente conseguir esta UEFI y cargarla en nuestro código Python. Y para ello, necesitamos usar algunos métodos. Y nuestro luke cutie cinco aplicaciones dentro de un script de Python aquí mismo. Entonces lo que voy a hacer es simplemente crear un guión. Y lo voy a nombrar diseñador QT, primera aplicación. Y por supuesto el pastel. Entonces déjame renombrarlo y estamos bien para ir. Ahora lo que vamos a hacer es al diseñador de QT superior y luego empezar con la construcción de una ventana. Entonces vamos a esperar un poco y estamos bien. Vamos a empezar con la ventana principal que tenemos , vamos a dar click en ella. Y esta es la ventana principal que discutimos antes. Tenemos aquí esta barra de menú que podemos cambiar. Entonces voy a tal vez sólo archivar aquí. Y nada demasiado elegante. Yo sólo voy a tomar tal vez un pulsador. Lo vamos a poner aquí y algo de etiqueta aquí. Y esta etiqueta diría, esta es la primera por aplicación de diseñador QT. Y ahora si quieres mostrarlo todo, simplemente puedes aumentar el tamaño y bueno para ir. Ahora este es el pulsador. Si necesito cambiarle el nombre o simplemente hacer clic, haga doble clic en él y tal vez solo envíelo por ejemplo. No tenemos nada que presentar, pero es una demo simple por ahora. Ahora lo que vamos a hacer es hacer click, haga clic aquí. Vamos a ver algo maquetación. Y este diseño es en realidad lo que discutimos en nuestras clases de widget antes. Tenemos el layout horizontalmente y el layout verticalmente. Entonces si hago clic en el diseño horizontalmente, voy a conseguir que las ventanas sean las etiquetas y elementos que tengo aquí y mi aplicación de codificación Pi o esta ventana etiquetada o simplemente poner de manera horizontal. Ahora si controlo set y me deja, y esta es la vía vertical. Los conseguimos de manera vertical. Tenemos esta etiqueta y la parte inferior justo aquí. Ahora lo que vamos a hacer es volver a un estado normal. Acabamos de precisar que lo hicimos en esta posición. Y también tenemos esto aquí mismo. Ahora como puedes ver, un semi phi solo aumenta esto. Pero ahora lo que vamos a hacer es simplemente guardar este archivo en nuestro directorio donde tenemos nuestro código, el script Python que vamos a crear. Entonces voy a, estoy presionando Control Guardar para guardar esto. Y vamos a hacer que esta ventana vaya a dirigirse al escritorio. Y claro que voy a escribir mi directorio. Y dentro de este directorio, simplemente voy a guardar este archivo como primera interfaz de usuario. Entonces tal vez primero diseñador Qt. Y ahora si hago click en Guardar, lo voy a tener en mi directorio aquí mismo. Entonces si lo reviso, solo refresca y lo vamos a conseguir aquí mismo. Tenemos este archivo, primero, diseñador dot u i Ahora este archivo de UI de diseñador de QT es en realidad un formato XML. Aquí lo podemos encontrar. Y es solo guardar los datos para nosotros y una forma de XML. Iba a guardarlo en clases nombradas así sucesivamente y así sucesivamente. Puedes seguir adelante y crearlo, pero no es práctico hacerlo. Si quieres escribir tu código, simplemente puedes hacerlo en el búfer de script de Python. Ahora sí tenemos nuestro diseño 2D o UI justo aquí, y necesitamos cargarlo en nuestra aplicación. Entonces para hacer eso, vamos a importar sys. Y por supuesto vamos a importar de pipa, purificar algunos pocos. Vamos a importar Q widgets y tú IC. Entonces vamos a usar la UIC para cargar nuestra UI desde el archivo XML que tenemos. Ahora lo que vamos a hacer es simplemente crear la aplicación Q. Y vamos a tener nuestro g k Lo siento, déjame solo reescribir. Dice que r d theta. Y tenemos, Podemos empezar con una ventana. Ahora, esta ventana en realidad va a ser la aplicación Q que acabamos de crear antes. Y esta aplicación es el archivo UI que tenemos. Entonces para hacer eso simplemente vamos a escribir UIC y vamos a presionar y punto. Solo podemos ver algunos métodos aquí. Y vamos a usar el método Load UI que tenemos aquí mismo. Y voy a cargar el primer archivo de diseñador QT. Así que primero diseñador QT wi. Y estamos bien para ir. Simplemente lo vamos a mostrar y ejecutar la app. Entonces lo conseguimos ahora, solo abramos CMD y solo ejecutamos primera aplicación del diseñador de Python QT, el Pi. Correr este resultado en esta ventana que acabamos de crear. Es la misma ventana exacta que tenemos en nuestro diseñador QT, como puedes ver. Entonces déjame solo ajustar esto como puedes ver si quieres visualizarlo. Se puede dar click en Ver. Lo siento. Vamos a dar click en vista previa aquí. Y podemos ver que son exactamente iguales. Nada está cambiando excepto que esto es una vista previa, un buen diseñador, y esta es la aplicación real y el script de Python que acabamos de crear. Entonces este es el camino, así es como podemos crear nuestra aplicación de diseñador QT a partir del archivo UI que podemos extraer de esta herramienta aquí mismo. Entonces dicho eso, este es el final de este video. Fue solo un video introductorio de cómo usar archivos de interfaz de usuario que tenemos dentro de nuestros scripts de Python. Y por supuesto en nuestros proyectos vamos a utilizar múltiples archivos. Vamos a tener múltiples archivos de interfaz para diferentes características, diferentes funciones, así sucesivamente y así sucesivamente. Vamos a fusionarlos todos en un solo código principal o mi script principal de Python que nos permitirá cambiar entre estos y tener lo que queramos de ellos. Entonces eso es todo básicamente para este video. Nos vemos en el siguiente. 32. Convertir Ui a Python: Muy bien, Así que bienvenido de nuevo. En este video, te voy a mostrar cómo puedes convertir tu archivo UI en un script Python. Ahora, puedes hacer eso si tu código o tu aplicación es bastante simple, o si tienes una ventana que solo necesitas extender el archivo UI y realmente no necesitas escribir los elementos, como la línea agregado, texto, etiquetas, así sucesivamente y demás. Solo necesitas algo sencillo para hacer el trabajo. Eso se puede hacer en QT designer. Por lo que sí tenemos esta ventana principal de nuestro video anterior. Sí lo tenemos de una manera sencilla. Ahora lo que realmente podemos hacer es salvarlo. Por lo que ya dijimos eso en primero hasta julio. Y como pueden ver, sí lo hemos intentado aquí. Entonces si queremos convertir esto en un script de Python, necesitamos simplemente ejecutar un comando simple aquí mismo. Y el comando es usar Pi UIC cinco porque estamos usando QT o panky D5. Si antes usas pica, solo vas a cambiar cinco en cuatro. Y funcionará perfectamente. Y simplemente vas a escribir el nombre de tu archivo UI, en mi caso, es el primer diseñador QT dot UI. Y necesitas escribir 0 para el archivo de salida y dash o.Y luego solo vas a escribir el nombre del archivo de salida que quieras. Ahora en mi caso, tal vez sólo lo llamaré el mismo pastel QT, diseñador dot by en lugar de UI. Ahora si me pego a correr, vamos a conseguir que se convierta. Y como pueden ver, aquí sí tenemos un nuevo archivo. Y te metes en, esta es la primera pipa deseo QT, y se acaba de convertir de este archivo UI. Y como pueden ver, tenemos todos nuestros elementos y aquí tenemos tantas cosas pasando. Entonces por ejemplo, en esta configuración ustedes, sí tengo, pueden ver claramente que tenemos nuestros maderas centrales, tenemos el botón pulsador, tenemos el etiquetado, bueno, que sí tienen la barra de menús, archivo de menú, barra de estado, todos de estos que tenemos en nuestra ventana justo aquí, para que podamos visualizarlos. Y sí tenemos un montón de otras cosas como la geometría SA se establece nombre de objeto, así sucesivamente y así sucesivamente. Y luego tenemos la UI de retraducción. Y esta es una función simple que simplemente traduce todos los elementos de la interfaz de usuario en nuestros botones y etiquetas reales que acabamos de crear dentro de este script de Python. Entonces vamos a extraer todo de la ventana principal. Entonces por ejemplo, tenemos de cuando ventana, la parte inferior Enviar luego extrajo y traducirlo al texto o al texto sin formato. Utilizamos el script Python. Entonces eso es todo básicamente por cómo simplemente convertir un archivo de interfaz de usuario en un script de Python. Ahora con eso dicho, este es el final de este video. Nos vemos en el siguiente. 33. Diseño en Qt Designer Designer: Hola y bienvenidos de nuevo. En este video, vamos a pasar por los diseños que tenemos en el diseñador de QT. Entonces lo primero que voy a hacer es simplemente crear nuestras plantillas quizá, ir a elegir una sin botones. Y esta es una muy sencilla que viene de nada hace una ventana vacía. Y ahora lo que vamos a presentar en este video son estos diseños. Por lo que ya hemos utilizado lo horizontal y lo vertical. Ahora vamos a pasar por todos ellos y tal vez usarlos en algunos ejemplos para obtener uso de ellos. Y luego simplemente implementarlos en nuestra próxima por QT cinco aplicaciones. Muy bien, así que empecemos con crear una etiqueta. Voy a arrastrarlo y soltarlo aquí. Y como podemos ver, sí tenemos la etiqueta que acabamos de conseguir. Y ahora lo que vamos a hacer es simplemente cambiar el texto aquí. Entonces, o bien podemos cambiar los textos de esta subida aquí, podemos hacer doble clic en el elemento y vamos a simplemente cambiarlo. O podemos seguir adelante y buscar en el editor de propiedades a texto. Y lo siento, voy a presionar sobre ello y sólo buscar texto y vamos a ver este criterio de texto, que indica el trabajo fiscal. Ahora si hago doble clic en él, puedo cambiarlo. Por ejemplo, voy a nombrar a este de abajo. Y quiero cambiar el color de la misma y su color de fondo también. Entonces para hacer eso, voy a presionar sobre estos tres puntos aquí mismo. Vamos a conseguir que esto cambie el, tal vez la característica de nuestro elemento. Voy a hacerlo audaz. Vas a cambiar, elige otro color para como el amarillo. Y voy a hacerlo tal vez centrado. Y estamos bien. Déjame hacerlo un poco más grande. Y ahora presiona, Vale, y lo vamos a conseguir aquí mismo. Este es el Botón 1. Como podemos ver, realmente no lo podemos ver porque el color de fondo no es tan bueno. Bueno, en realidad podemos hacer es dirigirnos al ir a solo escribir auto. Y vamos a tener antecedentes de autorelleno. Y puedes hacer click y comprobarlo. Y luego nos vamos a encabezar en la paleta. Y yo sólo voy a cambiar la paleta aquí mismo. Yo lo voy a hacer tal vez hagamos un azul y estamos bien para ir. Entonces este es el Botón 1. Y como podemos ver, cambiamos tanto la característica del elemento como del texto y su fondo. Ahora vamos a crear otra etiqueta. Entonces voy a hacer exactamente lo mismo, Botón 2. Y voy a cambiar Eso es pellet a tal vez rojo. Y luego va a habilitar el fondo de autorelleno. Y sólo vamos a dar click en el texto del mismo. Entonces este es el texto. Y voy a simplemente ajustarme. Entonces voy a hacerlo centrado, audaz y tal vez y tal vez blanco. Muy bien, entonces este es nuestro segundo botón que tenemos. Y lo que vamos a hacer ahora es usar la característica de diseño que tenemos un diseñador de QT con el fin tal vez hacer que se vea un poco mejor. Entonces sí tenemos estos dos botones. Ahora una forma de lidiar con ellos o simplemente de ponerlos juntos es colocarlos horizontal o verticalmente aquí mismo. Entonces déjame probarlo. Y lo voy a hacer es simplemente colocarme horizontalmente. Y como podemos ver, los tenemos de manera horizontal. Si presiono sobre vertical, entonces los consigo de manera vertical. Ahora lo que vamos a comprobar también es el retraso en una grilla. Y como puedes ver, no es que el frente de este vertical. No obstante, si tenemos múltiples botones, así que si tengo, por ejemplo, déjame simplemente borrar esto y estamos bien. Entonces estos son nuestros dos botones. Y lo que voy a hacer ahora es simplemente copiar esto. Voy a nombrarlo botón 3. Y el final es botón para lo siento. Voy a copiar esto. Y lo voy a tener como cuatro. Está bien, así que ahora sí los tenemos todos. Si sólo los tomo juntos y voy a presionar en grilla, va a ver que están en forma de cuadrícula. Y phi quiere tenerlos solo mesa de dos por dos. Lo vamos a tener así. Ahora, supongamos que tenemos algunas etiquetas para estos botones. No son realmente botones, realidad son etiquetas que acabamos de crear. Y voy a borrar esto y estamos bien para ir. Está bien, así que sí tenemos todos nuestros patrones y son etiquetas etiquetadas en realidad, como dijimos, no son q pulsador. Pero por el bien del argumento es suponer que tenemos estos como botones. Y lo voy a hacer es simplemente así. Va a tomar algunas etiquetas. Y sólo los vamos a tener como esa forma sencilla. Y ahora lo que en realidad podemos hacer es tomar todos estos y tal vez solo usó el diseño en un diseño de formulario. Y lo vamos a conseguir de esa manera. Si lo incremento un poco, lo vamos a ver. De acuerdo, así es como podemos crear este tipo de formas y tal vez mapear las etiquetas en los botones correspondientes de esa manera. Ahora, supongamos que una ventana es bastante pequeña en tamaño. Y en realidad usamos toda la longitud justo aquí de la altura. Y ahora lo que realmente podemos hacer es quizás queremos mapear otro layout que tal vez sea similar a éste. Entonces sí tengo estas dos etiquetas. Y sí tengo un supuesto que tengo q botones pulsadores. Y voy a tener estos dos pulsadores aquí mismo. Y supongamos que los vi en este diseño de forma. Ahora lo que en realidad puedes hacer es ordenar estos ahora horizontalmente. Entonces si coloco esto, lo vamos a conseguir de esta manera. Ahora, aumentémoslo un poco. Y vamos a conseguir nuestra forma así. Entonces eso es todo. Básicamente esta es la idea principal de los diseños y cómo podemos usarlos. Y el comentario final quizá aquí. Entonces supongamos que sí tienes un pulsador que necesitas agregar. A lo mejor aquí solo puedes arrastrarlo y soltarlo y lo puedes ver aquí mismo. Y supongamos que hay que agregarla de manera vertical, aquí mismo, lo siento, la manera horizontal entre estas dos formas, solo puedes seguir adelante, tomarla y colocarla aquí mismo. Y se puede ver que tomará el espacio que se requiere de ella. Y eso es todo básicamente para el diseño de la herramienta de diseñador QT. Dicho esto, este es el final de este video. Nos vemos en el siguiente. 34. Editar el orden de la tinta: Hola y bienvenidos de nuevo. En este video, nos vamos a introducir en la función de pestaña que tenemos en la herramienta de diseñador QT. Entonces lo primero que voy a hacer es simplemente crear un diálogo con botones. Y viene con los pulsadores OK y Cancel. Entonces déjame solo hacerlo un poco más grande. Y lo que vamos a hacer es rastrear esto y dejarlo aquí. Ahora lo que vamos a hacer es simplemente agregar algunas cosas. Entonces, por ejemplo, voy a añadir etiquetas. Entonces voy a tener etiquetas. Por lo que esto se etiqueta uno, nivel dos, nivel tres, y mano de obra para. Por lo que el primer nivel indicará, por ejemplo, el nombre de pila. Entonces vamos a crear una forma simple, LastName. Y entonces sí tenemos, por ejemplo, correo electrónico y número de teléfono. Y nos tenemos que ir. Ahora lo que vamos a hacer es simplemente crear adultos de línea para todos ellos. Entonces sí tenemos este 1, 2, 3, y 4. Y voy a arrastrarlos a todos y colocarlos en una forma como esa. Por lo que es súper fácil de hacer y muy práctico de usar con el fin de crear una forma simple como esa. Ahora lo que vamos a hacer es simplemente añadir una nueva edición de línea aquí. Entonces, por ejemplo, supongamos que necesitamos una nueva información, la dirección. Entonces lo voy a arrastrar y soltar aquí. Y simplemente voy a copiar una etiqueta. Y simplemente lo voy a agregar a su lugar correspondiente aquí mismo. Y esta es la dirección. Ahora lo que vamos a hacer es simplemente previsualizar esto. Y vamos a encontrar un problema sencillo que vamos a arreglar. Ahora como puedes ver, si el usuario está escribiendo alguna información. Por lo que tenemos el FirstName, LastName. Y ahora si presiono Tab para pasar a la siguiente, voy a omitir la dirección e ir al correo electrónico. Entonces por ejemplo, Primero example.com, luego el número de teléfono. Y si presiono una vez más en la pestaña, sólo me van a enviar a la línea de dirección Editar aquí mismo, donde simplemente pueden colocar la dirección. Y es muy molesto para los usuarios tener cosas así porque es FirstName, LastName, dirección, correo electrónico, y número de teléfono en este orden. No obstante, ahí están pasando por el nombre y apellido después al correo electrónico, número de teléfono y dirección. Y esto se debe a que agregamos esta dirección después de crear todo el formulario y la tenemos como una adición a la forma original que tenemos. Entonces una forma de lidiar con eso es usar el orden de tabulación Editar. Y si lo presiono, vamos a llegar a 1, 2, 5, 3, y 4. Entonces simplemente voy a cambiarlos así. Entonces menos lado otra vez, sí tenemos aquí 1, 2, 3, 4, y 5. Ahora ya estamos bien para irnos. Simplemente podemos cerrar esto y pasemos a la vista previa. Y ahora si presento tabulador, vas a ver que vamos en el orden cronológico o el orden vertical que tenemos dentro de nuestra forma. Entonces esta es sencilla tal vez característica que podemos usarlo como una muy poderosa, sobre todo si estás atascado en una forma y realmente no sabes cómo cambiar esto. A lo mejor en lugar de simplemente eliminar todo el formulario y volver a hacerlo, esto te ayudará a hacer lo que quieras con ese formulario. Entonces eso es todo básicamente para este video. Nos vemos en el siguiente. 35. Definir Buddies: Hola, Así que bienvenido de nuevo. En este video vamos a discutir cómo podemos crear cuerpos Y diseñador QT. Por lo que los cuerpos suelen ser una conexión entre algunos widgets y normalmente están entre la etiqueta de cola y otra. Elementos como ediciones de línea DQ o un cuadro combinado. Usted crédito fiscal, así sucesivamente y demás. Y estas conexiones en realidad están aquí para proporcionar un atajo rápido de teclado. Y es aquí cuando el usuario quiere moverse de manera rápida. Dentro de nuestra forma. Pueden usar estos atajos de teclado y ayudarán a salir del camino. Por lo que al configurar cuerpos mejora la usabilidad de los directs que tienes y mejora el rendimiento general de tu aplicación de cinco panadería. Ahora empecemos con la creación de estos cuerpos. Y para hacer eso, basta con hacer clic derecho en cada etiqueta y presionar y al principio. Entonces vamos a sumar esto aquí mismo. Y lo que vamos a hacer es agregar este ampersand a todas las etiquetas que tenemos. Algunos lo van a agregar aquí. Y voy a hacer exactamente lo mismo por todos ellos. Y finalmente, lo que vamos a hacer es simplemente conectar estas etiquetas a la línea ls que tenemos. Entonces para hacer eso, necesitamos simplemente hacer click en Editar cuerpos. Después da click en esto y acaba de conectarlo a su etiqueta correspondiente. Entonces haces clic y sueltas, ¿verdad? Entonces eso es todo. Básicamente así es como puedes conectarlos. Ahora sí tenemos una conexión entre todos estos. Y si hago click en Guardar o simplemente previsualizar por ahora. Y lo que vamos a hacer ahora es simplemente presionar sobre el primero, que está en el FirstName. Ahora si queremos ir al correo justo aquí, podemos notar que empieza con la letra E. Así que si queremos saltar todo el camino desde la primera línea en esa hasta la cuarta. Podemos usar tap tres veces y podemos llegar ahí, o simplemente podemos presionar la letra a porque empieza con E. Y como puedes ver, sí tenemos línea simple en las primeras letras de todas ellas. Entonces si por ejemplo, necesito ir a la letra P, voy a hacer exactamente lo mismo que antes. Entonces, por ejemplo, si estoy en el primero, voy a pasar a la letra a como camino aquí. Eso es todo. Básicamente así es como podemos definir a los amiguitos y simplemente crear una mejor aplicación de purificadores de compra para el usuario. Entonces dicho eso, este es el final de este video. Nos vemos en el siguiente. 36. Editar ranuras y señales: Hola y bienvenidos de nuevo. En este video, vamos a hablar de esto aquí mismo, que son básicamente las señales de edición y ranuras. Por lo que esto nos ayudará tal vez solo mejorar nuestras aplicaciones pi 35 en cuanto a manipular o agregar algunas funciones a nuestros botones aquí mismo. Entonces si tenemos este botón y necesitamos enviar el formulario por ejemplo, y tenemos la primera información aquí. Podemos hacer click en esto, ¿de acuerdo? Y deberían desaparecer de mí. O tal vez acabamos de aparecer un mensaje indicando que recibimos el formulario y la solicitud fue enviada con éxito. Ahora, otro ejemplo podría ser entonces simplemente eliminamos todo esto. Y vamos a empezar de nuevo. Lo que voy a hacer es simplemente crear dos ediciones de textos. Entonces esto es texto editar uno. Voy a aumentarlo un poco. Voy a copiarlo, péguelo aquí. Disposición de manera horizontal. Y estamos bien para ir. Entonces eso es todo básicamente, déjame solo agregar unos botones aquí mismo. Entonces voy a añadir dos botones. Entonces aquí tenemos pulsador. Y esto es para el primero. Nos vamos a llevar otro para el segundo. Ahora lo que vamos a hacer es también estos verticalmente, lo siento, horizontalmente. Y creo que somos buenos para hacer una gunna, los vi así. Ahora lo que vamos a hacer un sudo cambiar esto en imagen recién ajustada. Voy a cambiar esto por el fiscal tal vez claro. Y entonces sí tenemos lo mismo aquí, textos claros a. Ahora lo que vamos a hacer es simplemente ir a la Editar lodo asentado, va a editar esto. Entonces cada vez que oprima o haga clic en este pulsador, vamos a borrar el editor de texto aquí mismo. Entonces lo que vamos a hacer es simplemente seguir adelante, Vale, ahora sí tenemos una relación entre estos dos. Siempre que hacemos clic y el pulsador, vamos a despejar esto aquí mismo. Y vamos a hacer exactamente lo mismo aquí. Siempre que hacemos clic en el pulsador dos, simplemente vamos a despejar también todo lo que tenemos desde aquí. Ahora, volvamos atrás y revisarlo. Si presiono o escribo algo aquí mismo. Y sí tengo también algunas cosas aquí. Si presiono en texto claro uno, voy a ver que mi texto está apareciendo del texto a la una. Y si presento la salida dos, voy a hacer van a tener el mismo resultado exacto que antes. Entonces eso es todo. Básicamente sí tenemos un par de funciones más. Entonces si quieres tal vez dar click en esto y puedes ver todas las funciones que tenemos. Y por supuesto, si presiono en este, vamos a ver exactamente lo mismo que tenemos aquí, pulsador. Ahora si presiono en esto y tal vez llego al pulsador, vamos a ver que tenemos impuesto agregado y el resultado es pulsador indicativo de cola. Entonces eso es todo básicamente. Ahora lo que realmente podemos hacer es quizá tratar de conectar a estos tres juntos. Entonces lo que voy a hacer ahora, simplemente asigne este impuesto agregado al pulsador que tenemos. Voy a usar sólo el texto cambiado. Y dondequiera que el texto cambie en la edición de texto, vamos a hacer clic en el pulsador, ¿verdad? Entonces esta es nuestra relación aquí. Y por supuesto lo que voy a hacer ahora es a tal vez lo hagamos para todos los elementos. Entonces voy a decir que cada vez que hacemos clic y este pulsador, también vamos a dar clic en el botón pulsador dos, y así sucesivamente y así sucesivamente. Ahora, lo que vamos a decir aquí es que cada vez que hacemos clic en el pulsador dos, simplemente vamos a borrar el mensaje desde el primero. Entonces ahora vamos a previsualizarlo. Y si tengo algunos pueden ser gravados aquí y escribo algo aquí, deberíamos ver esto desaparecer. Porque lo que realmente hicimos es que establecimos tres relaciones entre nuestros cuatro elementos. Entonces el primero es que cada vez que escribimos en el texto y detectamos que usando detecta función cambiada, vamos a borrar éste o, lo siento, vamos a dar click en el pulsador. Y si se hace clic en esto, entonces también se recortará esto. Y por supuesto, la última relación es que si se hace clic en esto, también vamos a borrar los textos en eso. Entonces eso es todo. Básicamente así es como puedes usar estas funciones. Y hay incorporados dentro nuestros criterios de babosa de textos de edición. Por lo que sí tienes múltiples funciones que puedes usar. Y tan poderosos, la mayoría de ellos, los usamos antes, como el texto cambió. También utilizamos algunas cosas de aquí tenemos el set clicked Jack, tenemos el show menu toggle, así sucesivamente y así sucesivamente. Para que puedas seguir adelante y empezar a construir algunas pequeñas aplicaciones usando estas funciones que tenemos aquí mismo. Entonces eso es básicamente para este video. Nos vemos en el siguiente. 37. Introducción a la juego de Dice: Muy bien, Así que hola y bienvenidos de nuevo. En este video vamos a presentar nuestro proyecto, ese es el juego de dados. Entonces como pueden ver, aquí sí tenemos dos dados. Y sí tenemos también a Claire. Por lo que tenemos jugador uno y jugador dos. Cada jugador tiene un marcador, y este es un marcador final. Y también tienen el puntaje actual de la ronda. Ahora, empecemos por usar el botón de rollo aquí mismo. Entonces si el usuario presiona sobre drones, por lo que empieza con el Jugador uno, se puede ver que el marcador actual y a lo que tengamos tres más tres. Y si presionamos también es una vez más, sí tenemos tres más 25 más los seis todos. Vamos a conseguir 11 aquí. Ahora, cada vez que el usuario tenía dos opciones, es un rol o retención. Ahora si elige hold, todo desde aquí sería transferido al marcador. Entonces si presiono y sostengo, vamos a ver que tenemos 11 aquí. Y este es lugar para girar ahora. Por lo que se comprometió a rodar una vez, 4 más 5, sí tenemos nueve. Ahora, lo real en este juego es que quien consigue uno solo pierde los suyos. Entonces si sigo presionando aquí, ¿puedo ver que tenemos 0 aquí? Porque si voy al concierto y a visualizarlo, podemos ver que los dados son 5 y 1. Entonces el jugador 2 consiguió un die, uno. Y es por eso que es un realmente perdido esta ruta. Entonces déjame intentarlo de nuevo. Tenemos 11 Aguanta Entonces ahí para aguantar. Entonces eso es todo. Básicamente la idea de este juego. El que llegue al 101 es el ganador. Por lo que sí tenemos 11 y 16. Y el lugar uno ha jugado, y tiene justo aquí uno. Y por eso nada ha cambiado. Si vuelvo a llamar. Y el jugador dos también consiguió unos. Y ahora podemos inscribirnos de nuevo. Tenemos 34 para el jugador dos. Entonces esto es siete. Vuelve a rodar, 2 y 4, 6 más 7, 13. Y si queremos aguantar, podemos retenerla. Entonces eso es todo. Básicamente. Esto es todo. Y ahora lo que realmente hicimos es que acortamos el cuando es hueso o el puntaje del viento. Yo lo hice 25 solo por el bien del video introductorio. Pero para los próximos videos lo vamos a usar como 100. Entonces eso es todo. Básicamente, esta es la idea de este juego. Quien llegue primero a un marcador final, whens. Y sí tenemos el botón de rol y mantener pulsado. También tenemos la nueva característica de juego aquí mismo. Y esto es para crear un nuevo juego cuando queramos. Entonces si estoy en medio de un juego como éste, podemos ver que si presiono un juego nuevo, se restablezca a 0. Entonces eso es todo básicamente para el juego de dados. El siguiente par de videos, vamos a empezar a construir el front end y luego vamos a pasar al backend usando las funciones de cada uno. Sí tenemos nuevo juego, papel y plática. Y también tenemos algunas funciones adicionales que vamos a descubrir. Pero con eso dicho, este es el final de este video introductorio para verte en los próximos videos. 38. Juego de dares: construir la aplicación: Así que bienvenido de nuevo. En este video, vamos a empezar a construir nuestro juego de dados que hemos visto anteriormente. Y vamos a empezar con la importación de estas imágenes. Entonces tengo el empate S1, 23, 456. Por lo que vamos a utilizar estos como números aleatorios como comentamos anteriormente, para mostrar a los usuarios qué número de dados obtuvieron. Y vamos a empezar a construir nuestra aplicación. Ahora, lo primero que voy a hacer es importar, dice, voy a importar desde pi 35, ese widgets QT, todo. Y vamos a importar desde el código Pi. Voy a importar el desde QT GUI. También todo y ácidos que vamos a importar también de la moto 35, la GUI QT que tenemos y cutie core por ahora. Y entonces por fin vamos a importar desde pica 35 o simplemente limitarlo, sólo agréguelo, correcto, así que obtenemos, estoy señalando desde Piketty cuarta categoría, todo. Y los vamos a usar más tarde. Pero por ahora, empecemos con la aplicación. Entonces voy a construir la aplicación Q como de costumbre. Y voy a construir nuestro widget de cola. Voy a fijar el título de la ventana. Así que establece el título de la ventana en juego de dados. Y luego vamos a fijar o fijar el ancho en 1000. Entonces ese set. Ahora lo que vamos a hacer es también establecer hoja de estilo de nuestra ventana o widgets para que sean de fondo blanco por ahora, creo que siempre es blanco, pero lo vamos a agregar. Y lo que vamos a hacer ahora es crear nuestro primer botón, ese es el nuevo botón de juego. Y será en una caja. Y vamos a poner retraso fuera de nuestro widget para que sean las chispas. Está bien, así que para hacer eso, voy a crear el nuevo botón de juego de tipo q pulsador para ser nuevo juego. Y luego vamos a tener, o vamos a configurar el cursor de este botón para que sea cursor de mano apuntando. Y esto nos ayudará. Te mostraré primero el botón sin esto. Y luego lo vamos a agregar y a verlo actuar. Entonces lo que voy a hacer es simplemente dejarme crear la caja aquí. Entonces caja, será Q vBox layout. Y entonces lo que vamos a hacer es simplemente agregar este widget a la caja. ¿ Verdad? Ahora lo que vamos a hacer es simplemente establecer el diseño de nuestro widget para que se eliminen que tenemos justo aquí. Y luego simplemente vamos a salir del sistema ejecutando la app. Muy bien, entonces estamos bien. Ahora, si voy adelante y corro este juego de dados, el pastel, vamos a conseguir, me gusta esto, ¿verdad? Entonces no mostramos la ventana. Ahora, si lo vuelvo a ejecutar, dados game dot, py. Vamos a conseguir algo como esto. Este es el nuevo botón de juego que tenemos. Y no se ve tan bien por el momento. Entonces vamos a mejorar el estilo de este patrón. Ahora lo que vamos a hacer es simplemente agregar un puntero a este cursor o un puntero a este botón. Por lo que nota que cada vez que me encuentre con este nuevo botón de juego, no pasará nada con mi cursor. Ahora, para mejorar esto, simplemente vamos a añadir un nuevo cursor de juego. Vamos a agregar cursor cue y a b de q t punto q t, y luego ese señalador y cursor. Muy bien, entonces ahora sí tenemos nuestro cursor. Déjame correr esto otra vez. Y vamos a ver que cada vez que me mueva a través de este botón, será un cursor de mano señaladora, no como la precaución normal que tenemos. Está bien, Así que mejoramos esto. Ahora, vamos a cambiar el estilo o el CSS de este botón. Entonces déjame seguir adelante y hacerlo aquí. Ahora a CSS y Piketty cinco, lo que realmente necesitas hacer es simplemente usar la hoja de estilos de set, al igual que la que usamos aquí. Así que establece hoja de estilo y dos, y luego arriba y dependencias. Ahora dentro de estos paréntesis, voy a crear nuestra hoja de estilo, y será de este tipo. Ahora voy a empezar con la posición. Entonces lo voy a hacer absoluto. Y déjame empezar diciendo que realmente no necesitas entrar en los detalles de CSS. Simplemente puedes copiar esto desde aquí. Y si no estás familiarizado con esto, no hay problema, solo puedes seguir adelante y tomar esto y colocarlo en tu hoja de tamaño de set. Porque al final del día se trata de una pipa purificar, por supuesto, no SCSS uno, pero se ve más bonito solo tener un buen aspecto por 35 aplicación. Entonces si eres bueno, puedes seguir conmigo el tiempo que quieras. Entonces ancho, vamos a tener ancho de 200 píxeles. Vas a tener un 50 por ciento, ¿verdad? Y voy a tener el color en esta. Se ve bien. Ahora lo que vamos a hacer es simplemente tener la familia de fuentes al pie. Y luego vamos a tener el tamaño de fuente para ser de 20 píxeles. Y voy a tener que transformar el texto en mayúsculas. Y por último, voy a fijar el font-weight y a 300. Está bien, Así que ahora déjame volver a ejecutar esto. Y sí tenemos algunos problemas aquí, ¿verdad? Por lo que olvidé agregar este punto y coma aquí mismo. Y déjame volver a ejecutar esto. Y vamos a conseguir nuestro botón indicando que este es un juego nuevo. Como podemos ver, sí tenemos el botón. Es un botón de buen aspecto, pero siempre podemos quitar las fronteras. Entonces déjame simplemente agregarlo aquí. Entonces voy a tener que poner la frontera a ninguna. ¿ Verdad? Entonces creo que por ahora estamos bien. De acuerdo, así que eso es todo. Básicamente esto es para el primer botón. Una edición podría ser es simplemente aumentar el tamaño de fuente cada vez que pasemos cursor sobre este botón. Ahora, para hacer eso, en realidad podemos hacerlo de una manera bastante sencilla. Vamos a añadir aquí un hover. Y vamos a aumentar el tamaño de la fuente de 20 píxeles a 30 píxeles. Y ahora déjame simplemente cerrar esta carrera. Y vamos a conseguir exactamente lo mismo que antes. No obstante, cuando pase el cursor sobre este, el tamaño de la fuente aumentará a 30 píxeles y conjunto de 20 píxeles. Ahora bien, esto es básicamente para el primer botón. Sé que tardó mucho en sólo con un botón, pero termómetro, construimos toda la aplicación con la caja y así sucesivamente. Ahora, en el siguiente video, vamos a empezar por crear el lado de los jugadores y añadir los dados en él. Entonces eso es todo básicamente para este video. Nos vemos en el siguiente. 39. Juego de dares: añadir jugadores: Muy bien, Así que bienvenido de nuevo. En este video vamos a empezar a construir el lado de los jugadores. Entonces, empecemos con construir las etiquetas del jugador uno y el jugador dos. Entonces lo voy a hacer aquí mismo. Y voy a tener que venir aquí, construyendo Player One y dos etiquetas. Aquí acabamos de construir el nuevo botón de juego. Entonces voy a tener que decir, bueno, entonces el nuevo botón de juego. Muy bien, entonces estamos bien. Ahora dije que vamos a construir par una etiqueta y será de q etiquetada como de costumbre. Y dirá jugador uno. Y entonces sí tenemos al Jugador 2. Lo mismo para etiquetar y exhibir Platón. Está bien. Ahora lo que vamos a hacer es simplemente agregar estos a una especie de diseño, eso es un diseño de cuadrícula porque sí tenemos tantos elementos que necesitamos agregar. Y no podemos añadirlos vertical u horizontalmente porque sí los necesitamos en forma de tabla. Entonces lo primero que voy a hacer es simplemente crear una cuadrícula será un diseño de cuadrícula QC. Y ahora dentro de esta cuadrícula, voy a añadir Jugador 1 y Jugador 2. Está bien, así que para hacer eso, vamos a añadir un widget. Y este widget será si jugador uno, y añadir otro widget para Platón. Ahora si sigo adelante y corro esto, déjame simplemente cerrar éste y volver a intentarlo. Podemos ver que no ha pasado nada porque realmente no agregamos este código al diseño. Y ya tenemos un diseño para este invierno, que es la caja. De acuerdo, así que para lidiar con eso, lo que realmente podemos hacer es simplemente crear o agregar esta cuadrícula a la bossa que tenemos. Entonces voy a hacer eso aquí mismo. Entonces caja eso, agrega diseño y vamos a agregar el código que acabamos de crear. Está bien, así que ahora si vuelvo a ejecutar esto, voy a ver que tenemos el nuevo botón de juego y sí tenemos jugador uno y jugador dos. Ahora note que estos están en una cuadrícula, sin embargo, se ven verticalmente en esta rejilla. Sí tenemos el par uno aquí y dos aquí. Ahora lo que realmente se puede hacer al respecto es simplemente agregar estos de manera horizontal. Por lo que la cuadrícula en realidad se acaba de construir de manera predeterminada usando primero lo horizontal o vertical. Ahora, lo que en realidad se puede hacer es agregar parámetros a esta cuadrícula. Por lo que necesitamos Jugador uno en el índice 0. Entonces esta es la fila. Y sí tenemos, necesitábamos en la columna ceros. Muy bien, entonces el jugador 2 estaría en la fila 0 y la columna uno para esto. Ahora si sigo adelante y vuelvo a correr esto, voy a conseguir algo así. Y no están verdaderamente centrados. Entonces lo que podemos hacer al respecto es simplemente centrarlos cada vez que creamos estos botones. Entonces podemos hacer eso simplemente escribiendo jugador uno que establezca alineación. Y vamos a usar el código QT para esto. Entonces cutie, ve dot QT y luego alinea centro. Entonces vamos a hacer exactamente lo mismo para el segundo. Cutie, cutie que alinean, derecha, alinean centro. Y estamos bien para ir. Ahora vamos a cerrar esta carrera. Y lo vamos a ver jugador uno y jugador dos centrados en la forma del crédito que tenemos. Está bien, entonces eso es básicamente para el Jugador 1 y el Jugador 2. Ahora vamos a cambiar el tamaño usando CSS. Entonces lo que voy a hacer es simplemente usar la función que hemos usado antes hoja de estilo SAT abrirla y vamos a empezar a construirla. De acuerdo, entonces lo primero que voy a hacer es enviar, establecer el tamaño de la fuente en 40 píxeles. Entonces simplemente voy a usar la transformación de texto y a mayúsculas. Y luego vamos a tener espaciado entre las letras. Entonces vamos a tener espacio de dos píxeles. Creo que va a ser bueno. Y luego vamos a tener que usar margen top para simplemente diferenciar o agregar algún margen entre los jugadores y el botón o un nuevo juego. Y voy a sumar 20 píxeles por ahora. Entonces tenemos margen de fondo. Serán de 10 pixeles. Y la posición será relativa. ¿ Verdad? Creo que ahora estamos bien. Simplemente tenemos el font-weight de un 100 por ahora. Ahora vamos a cerrar ejecutar esto otra vez. Y vamos a conseguir algo como esto. Se ve un poco más bonito que el anterior. Por lo que aumentamos el tamaño, font-weight, y la posición de la misma. Muy bien, Así que ahora haremos exactamente lo mismo para Platón. Entonces voy a copiarlo, pegarlo, y simplemente cambiar esto aquí mismo. Está bien, ahora divulgarla y visualizarla una vez más. Y tenemos que ir a, así que sí tenemos a nuestros jugadores. Estos son los trabajos que vamos a utilizar. Ahora lo que vamos a hacer es simplemente agregar el marcador de ambos jugadores. Entonces sí tenemos marcador aquí y aquí. Y vamos a hacer exactamente lo mismo que antes. Vamos a crear una etiqueta y luego asignar un centro de alineación. Y luego vamos a cambiar el estilo de la misma. Entonces voy a nombrarlo anotar uno. Será de etiqueta Q y comenzará con 0. Y sí tenemos puntaje para también Q etiquetar y buscamos con CO2. Está bien, así que voy a copiar esto y base o dos veces. Se trata de cuatro puntaje uno. Y esto es por marcador dos. Y ahora, si sigo adelante y vuelvo a correr esto, voy a conseguir algo como, lo siento, realmente no lo agregamos para degradarse. Entonces déjame seguir adelante y agregarlo a los criterios de consulta. Ahora recuerda que el primer parámetro es el elemento real de widgets que necesitamos agregar. Entonces sí tenemos dos parámetros más. El primero es para la fila, lo necesito en verdad, hazlo en índice uno. Y luego vamos a sumar 0 aquí. Y por supuesto, si necesito sumar el marcador dos, lo vamos a sumar también en la fila 2, que está en el índice uno. Y la columna debe estar en el índice 12. Está bien, así que ahora déjame cerrar esto y volvamos a correr. Y vamos a conseguir nuestras etiquetas para el marcador del jugador uno y el jugador dos. Ahora ajustemos el estilo de ellos. Entonces voy a seguir adelante y hacerlo muy rápido aquí mismo. Ahora después de crear el discurso botado y establecer el alineamiento, voy a agregar aquí puntuación uno, esa hoja de estilo conjunto en. Y vamos a empezar por construir esta vez aquí mismo. Entonces vamos a tener el tamaño de fuente de tan solo 80 píxeles por ahora. Entonces sí tenemos el peso de la fuente como antes de un 100. Y vamos a tener el color. Voy a usar este color por ahora para D. Así que D, y piensa, se ve bien. Entonces sí tenemos el margen inferior de 130 píxeles por ahora. Está bien, creo que estamos bien para irnos. Déjenme cerrar de nuevo esta carrera. De esta manera podemos ver conseguimos nuestro número el cual tiene 0 por ahora, para el Jugador 1. Ahora ajustemos esto a. Entonces voy a copiar marcador uno y simplemente cambiarlo a Scott para cerrar dibujado a mano. Y vamos a ver que nos dieron nuestros botones. Se les paga al jugador One como etiquetas y estos anota también. Está bien, entonces eso es todo básicamente por construir nuestros dos jugadores por uno o jugador dos y el marcador. Ahora, en el siguiente video, vamos a construir los botones para rodar todos los dados. Vamos a sumar algunas imágenes y vamos a sumar la puntuación actual de ambos jugadores. Entonces eso es todo básicamente para este video. Nos vemos en el siguiente. 40. Juego de Game: marcación y dices: Muy bien, Así que bienvenido de nuevo. En este video, vamos a continuar con nuestra aplicación 535 o el juego de dados. Ahora lo que vamos a hacer es agregar aquí algún pensamiento de box y mostrar la puntuación actual del jugador. Entonces empecemos con este que voy a hacer es simplemente agregarlo aquí. Voy a nombrarlo jugador uno, marcador actual. Y será la etiqueta Q. Y lo voy a tener al 0 al principio. Jugador a puntaje actual. Y los adultos serían también un q etiquetado con un valor de 0, 2. Está bien. Ahora sí tenemos nuestra condición laboral dos, sumadlas a esto. Entonces voy a añadir el primer widget, que es el jugador uno, actual. Y note que todo lo relacionado con el jugador uno está en realidad en la columna 0 justo aquí. Y todo lo relacionado con el jugador 2 está en la columna uno. Está bien, así que lo vamos a sumar en el índice dos de fila y 0. Y luego también vamos a sumar para el jugador dos. Y estará en el índice 2 también, y la posición de la columna 1. Muy bien, así que vamos a cerrar esto y volver a ejecutar esto. Y vamos a conseguir esto. Ahora nota que no están en el centro, así que déjame mejorarlo o modificarlo. Entonces jugador uno, alineamiento puntaje actual. Y será un núcleo cutie que alineación UT como de costumbre, que alinean centro. Voy a copiar esto y simplemente cambiar aquí de jugador uno a jugador dos. Y llegamos a irnos, déjame simplemente volver a ejecutarlo. Y lo conseguimos, así que sí tenemos estos aquí. Y vamos a tener una sintaxis o estilo ligeramente diferente para estos. Porque recuerda que estos son los valores finales o los originales y estos son los valores actuales pagados en un solo set en el juego. Entonces entrémonos en la hoja de estilo del jugador uno, puntaje actual. Esa hoja de estilo conjunto como de costumbre. Y vamos a empezar abriendo los paréntesis como de costumbre y simplemente sumar aquí. Lo que vamos a hacer es simplemente establecer el tamaño de la fuente en 30 píxeles. Y luego vamos a establecer la altura en 20 píxeles. El color de fondo sería éste. El que hemos usado para la etiqueta antes. Y el color real será FFF, ¿verdad? Y ahora lo que vamos a hacer es simplemente aumentar el ancho. Y voy a ponerlo en 40 por ciento. Por ahora, el margen sería 0. Y autorelleno de 20 pixels por ahora y el texto. Muy bien, entonces nosotros, lo hemos establecido antes, así que realmente no lo necesitamos aquí mismo. Ahora, déjame cerrar esto y comprobarlo. Corre. Y lo vamos a conseguir aquí mismo. Entonces como puedes ver, conseguimos a nuestro jugador 1, el marcador, y el puntaje actual justo aquí. Ahora podemos hacer exactamente lo mismo para Platón. Entonces voy a copiar esto y acabo de cambiar, cambiar aquí de más uno a más dos. Y llegamos a irnos. Ahora déjame cerrar esta carrera. Y vamos a conseguir esto como nuestra aplicación 535 por ahora. Ahora lo que vamos a hacer es agregar los dados aquí. Entonces vamos a sumar dos dados. El primero estará en esta posición, por ejemplo, y el otro estaría aquí mismo. Y vamos a añadir los botones a este juego. Los botones son el rollo para rodar los dados, y sí tenemos la bodega para solo hacer que el jugador sostenga lo que tengamos en la corriente. Entonces nos vamos a trasladar de aquí a aquí. Por lo tanto, no te preocupes por estas funciones. vamos a hacer más tarde, pero por ahora, sólo vamos a construir el back-end, lo siento, el front end de nuestro juego de dados. Está bien, así que déjame empezar con la construcción de las imágenes. Entonces empezamos por construir puntajes de capas profundas, y sí tenemos aquí las puntuaciones actuales. Ahora hagámoslo aquí. Lo que voy a hacer es simplemente agregar MHC1 y será Q picks mapa de los dados, 1 punto PNG. Y entonces sí tenemos Imagen 2. Voy a tomar selecciones de cola aleatoriamente, mapa. Dados al PNG por ahora, vamos a cambiar esto más adelante cuando comience el juego. Pero por ahora sí tenemos estas dos imágenes. Ahora los vamos a almacenar en una etiquetada. Entonces vamos a tener, tal vez le voy a nombrar imagen una etiqueta y será de etiqueta Q. Y lo que vamos a hacer es simplemente agregarle. Entonces vamos a establecer el mapa de selecciones en image1 que acabamos de obtener de aquí. Y lo vamos a hacer exactamente lo mismo para MHC2. Por lo que la imagen para etiquetarla será de tipo Q label y vamos a agregarle. Por lo que imagen para etiquetar que puso el mapa de Beck en Imagen 2. Está bien, así que sí tenemos las dos imágenes. Ahora, necesitamos agregarlos a la cuadrícula. Y la posición más óptima para estos dos dados está en el centro justo aquí. Ahora recuerda que tenemos la cuadrícula y sí tenemos la columna uno, y esto es todo. Y también tienes la segunda columna aquí mismo. Entonces lo que vamos a hacer es simplemente cambiar o mover esto a una tercera columna y luego agregar los dispositivos a la columna 2. Entonces para hacer eso, lo que vamos a cambiar aquí es todo lo relacionado con el jugador2. Y vamos a cambiar la posición de la columna de dos, de uno a dos. Y eso es todo básicamente. Ahora bien, si sigo adelante y vuelvo a ejecutar esto, vamos a ver que no tenemos nada cambiado por ahora porque realmente no agregamos nada en el medio. Entonces ahora, si sigo adelante y agrego los widgets aquí mismo. Por lo que vamos a añadir imagen una mano de obra a la posición de ésta aquí mismo. Por lo que está en la fila 0 y solo en la columna uno. Está bien, así que lo vamos a hacer aquí, 01 y el segundo también será un TRO, ¿verdad? Por lo que etiqueta MHC2 será en la fila uno esta vez y también en la Columna 1. Ahora vamos a cerrar esto y volver a ejecutarlo. Y vamos a ver que tenemos nuestras imágenes aquí mismo. Son demasiado grandes para el juego, pero los acabamos de conseguir en medio de estos dos, Jugador 1 y Platón. Todos. Entonces ahora mejoremos o disminuyamos el tamaño de estas imágenes. Y una forma de hacerlo es usar la función escalada que tenemos para la imagen. Y si lo uso aquí, por ejemplo, image1, esa escala. Y me voy a quedar, escapar de ellos al 80 por 84 ahora. Y voy a hacer exactamente lo mismo que antes para la imagen 2. Y ahora nota que aunque ejecuto este código, déjame simplemente ejecutarlo de nuevo. No pasará nada porque realmente no cambiamos el tamaño de la imagen, porque este método realmente devuelve una nueva imagen que se escala a 80. 80. De acuerdo, así que también lo voy a guardar en MHC1, y voy a guardar esto en la imagen dos. Por lo que ahora asignamos MLH1 y MSH2 a nuevas imágenes de escala 80 por 80, ancho y alto. Está bien, así que ahora vamos a cerrar esto otra vez. Corre. Y vamos a descubrir que nuestras imágenes son ahora más pequeñas que antes. Y altura y anchura de ellas como 80. De acuerdo, así como antes, déjame solo ajustar esta etiqueta Q. Entonces simplemente voy a usar la imagen etiquetada eso. Y voy a establecer la alineación en cutie, cutie dot align center. Y voy a hacer exactamente lo mismo para la imagen 2. Y estamos bien para ir. Déjenme cerrar de nuevo esta carrera. Y ese conjunto, básicamente, este es el dado 1 y este es dado 2. De acuerdo, así podemos ver que los dados 1 y el nuevo juego están bastante cerca el uno del otro. Por lo que tal vez necesitemos sólo tener algún margen o espacio entre ellos. Y lo voy a hacer simplemente cambiando la hoja de estilo. Por lo que voy a utilizar la hoja de estilo conjunto que hemos utilizado antes. Entonces déjame seguir adelante y hacerlo aquí. Por lo que tenemos imagen uno e imagen dos mano de obra. Lo que voy a hacer es simplemente cambiar el relleno aquí mismo. Por lo que esa hoja de estilo conjunto. Y voy a cambiarlo a, De acuerdo, así que estamos bien para ir. Ahora. Vamos a cambiar el relleno en unos 100 píxeles para arriba y ceros para derecha, inferior e izquierda. Correcto. Ahora ya estamos bien para irnos. Ahora, si sigo adelante y vuelvo a cerrar esta carrera, vamos a ver que tenemos una gran, buena cantidad de espacio entre el nuevo juego y los datos que tenemos aquí mismo. Está bien, entonces eso es todo básicamente para los dos dados y que estando satisfechos al final de este video y el siguiente vamos a construir los últimos elementos. Y son los botones para enrollar y sostener. Y vamos a estar más o menos terminados con este front end del juego de dados. Vamos a seguir construyendo el back-end y usarlo en nuestro juego. Entonces eso es todo básicamente para este video. Nos vemos en el siguiente. 41. Juego de dares: botones de lego y rollo: Hola y bienvenidos de nuevo. En este video, vamos a seguir construyendo este juego de dados. Entonces sí tenemos dos dados. El primer muere es el de aquí, y el segundo está loco ahora, pero yo estaba pensando es agregar los botones de rodar dados y el botón de retención justo aquí. Entonces después de la segunda muere justo aquí. De acuerdo, entonces lo que vamos a hacer es simplemente poner esto. Voy a empezar por simplemente crear los dados de rollo. Y será un pulsador de cola de fila de etiqueta. Y sí tenemos el botón “hold to push” y dirá Hold. Ahora, después de construir estos dados, lo que vamos a hacer es también poner el cursor en cursor de mano señaladora para ambos. Por lo que rodar dados. Y vamos a poner cursor en Q, cursor y cutie. Cutie, ese señalador y cursor. Está bien, así que ya estamos bien para irnos, déjame añadir esto para todos los dos. Y por supuesto tenemos que sumar esto al crédito real que tenemos. Entonces déjame seguir adelante y agregarlos aquí mismo. Tan genial, que agregan widget. Voy a añadir los dados de roles en posición de fila dos e índice de columna uno. Y luego vamos a añadir lo mismo para el hoyo. Lo vamos a agregar en la fila tres y en la columna uno. Y creo que estamos bien para ir a correr. Ahora como podemos ver, tenemos el papel y aguanta aquí mismo. Y vamos a convertirlos en iniciados. Tenemos cuatro nuevos juegos ahora mismo. Ahora echemos un vistazo rápido y la cuadrícula que acabamos de crear. Entonces si lo coloco justo aquí, podemos ver, está bien. Ahora como podemos ver para el Jugador 1, todos los elementos que están para visualización se muestran en realidad en la columna uno. Por lo que la columna uno está en el índice 0. Por lo que todo para el jugador uno está en índice de la columna uno a 0. Entonces como pueden ver, sí tenemos aquí 0, 0, y 0. Y entonces todo lo relacionado con el jugador 2 está en realidad en la columna 2, en la columna índice 2, que está aquí a dos y también hacer justo aquí. Y en cuanto a los dados y los botones, sí los tenemos en el medio, que es índice uno para la columna. Y como se puede ver aquí, él, son MHC1, MHC2, rodar dados y sostenerlos todos en la columna uno. Entonces eso es todo básicamente para la grilla que tenemos por ahora. Ahora vamos a mejorar la hoja de estilo del Holt y solo también todo el dado. Entonces voy a seguir adelante y copiar todo de la nueva hoja de estilo de juego. Y lo voy a pegar aquí. Voy a cambiar esto en dados de rollo. Y lo voy a volver a hacer para también el hold one. Correcto, así que estamos bien ahora déjame simplemente cerrar esta corrida otra vez. Y podemos ver que sí tenemos ahora los dos botones, camino y espera aquí mismo. Entonces eso es todo básicamente para el front end del juego. Como puedes ver, sí tenemos a ambos jugadores. Tenemos la puntuación actual, tenemos los dados reales. Y por supuesto, el rol final y los botones de retención donde vamos a desplazarnos para el uso que, eso es jugar y mantener siempre que él elija. Está bien, entonces eso es todo básicamente para el front end, el siguiente video va a empezar a construir el backend de este juego. Y lo vamos a vincular al front end y crear el juego real y jugarlo. Eso es todo básicamente. Nos vemos en el siguiente video. 42. Juego de dares: rollo el botón de dados: Hola y bienvenidos de nuevo. En este video, vamos a empezar con back-end de nuestro juego de dados. Y luego empiezo con simplemente crear las funciones que vamos a utilizar cada vez que deshacer el botón. Entonces déjame solo correr esta vez. Y como podemos ver, tenemos el nuevo juego, rodar y sostener, y necesitamos crear funciones para cada una de ellas. Entonces lo que vamos a hacer es simplemente empezar con el rollo uno. Voy a seguir adelante y simplemente crear. Y lo voy a hacer aquí mismo. Por lo que tenemos el botón de rolar dados. Y siempre que se haga clic en los dados de rollo, vamos a conectarlo a una función que es la, tal vez sólo rodar los dados. Y creo que estamos bien. Ahora lo que vamos a hacer es empezar con el uso de la función aquí mismo. Entonces voy a crear una función, y esto será rodar los dados. Y vamos a empezar con cambiar los parámetros o la puntuación que tenemos aquí y aquí de acuerdo al papel que tenemos. Ahora, tomémonos un momento y pensémoslo. Entonces siempre que el usuario rol este dado, vamos a cambiar las imágenes de los dados. Y vamos a conseguir imágenes aleatorias de una a seis. Aquí los mostró y agréguelos a lo que tengamos en la actual justo aquí. De acuerdo, así que para hacer eso, lo que vamos a necesitar es simplemente almacenar estas puntuaciones de cada jugador. Entonces voy a crear dos matrices o dos listas. El primero será el marcador del jugador. Y para ser ceros, va a explicarlo en un minuto y hacer eso. El segundo será el marcador actual del jugador. Y también se lo instanciará a 0. Ahora, voy a añadir un índice para el jugador actual, y será el primer jugador por ahora. Ahora bien, estos realmente representan los parámetros de este código que tenemos aquí mismo. Muy bien, entonces la puntuación del jugador representa la puntuación real del jugador uno y el jugador dos. Por lo que el jugador uno tomará el índice 0 y Platón tendrá índice 1. Y juega puntaje actual es en realidad éste. Entonces Jugador uno, este es 0, es éste. Entonces jugador 2, es éste. Entonces vamos a seguir adelante y cambiarlos dentro de las etiquetas que tenemos, ¿verdad? Por lo que sí tenemos etiquetas Q para jugador uno y jugador dos. Y también tenemos cuatro puntaje uno es CO2. Entonces voy a cambiar esto a actual, lo siento, marcador de jugador a 0 y marcador de jugador a uno. Y vamos a seguir todo el camino hasta jugar. Un puntaje actual. No sería el marcador actual del jugador como 0. Y sí tenemos jugadores puntaje actual a una. Y eso es todo básicamente ahora hemos cambiado los valores en valores reales. Ahora bien, si ejecutamos este código, vamos a notar que vamos a tener un error. Y esto es porque simplemente usaría, lo siento, no me dejamos solo comentar esto y volver a ejecutarlo. Y vamos a obtener este error porque la etiqueta dQ toma una cadena y hemos asignado un entero en lugar de cadena. Entonces para solo lidiar con eso, voy a agregar STR aquí. Y vamos a hacer exactamente lo mismo para este de aquí. Ahora ya estamos bien para irnos. Tenemos cadena almacenada dentro de la etiqueta de cola y todo debería funcionar bien. Muy bien, entonces sí tenemos uno más, que es rodar los dados porque acabamos de crear esta función. Yo lo comentaré. Ahora corre. Y tenemos, así que eso es todo básicamente ahora todo es como antes. No obstante, cambiamos los valores de tal vez estáticos a dinámicos que cambian con el tiempo cambiando los valores aquí mismo. Y estas listas. Ahora, empecemos con la función de rodar los dados. Ahora lo que vamos a hacer al principio son dos. Simplemente crea Die 1. Y esto será un aleatorio, y sólo vamos a importar aleatorio aquí. Esta es una biblioteca de Python. Ahora aleatorio.random. Y ahora vamos a tener número aleatorio entre 16 y I2 será la misma renta y entre 16. Ahora lo que vamos a hacer es simplemente imprimir esto para sólo tener una idea de estos dados por tan dados. Y vamos a añadir morir uno y morir dos. Y sólo lo visualicemos. Entonces voy a hacer que el método recoja y comente, ¿verdad? Y estamos bien para ir. Vamos a dar click en él. Y eso es todo. Ahora si presiono en fila, vamos a ver que sí tenemos dados aleatorios cada vez que presionamos este botón. Y estamos bien para ir. Ahora lo que debemos hacer es realmente almacenar estos valores dentro de lo que tengamos más el valor original que tenemos en la corriente. ¿ Está bien? Y esto depende del jugador. Entonces, por ejemplo, si el jugador uno está jugando, deberíamos agregar esto a los jugadores una puntuación actual. Y vamos a hacer exactamente lo mismo para. Ahora, volvamos atrás y empecemos con esto. Entonces lo que vamos a hacer es simplemente comprobar al principio, si uno de los dados es igual a uno, entonces simplemente vamos a salir de esta función porque cada vez que tengamos un dy igual a uno, esto significa que la persona o el usuario ha perdido esta ruta. Y no vamos a sumar nada al marcador final. Simplemente vamos a restablecer el puntaje actual de este jugador. Entonces sigamos adelante y lo hagámoslo. Por lo que la IED uno es igual a 1 o di2 también es igual a uno. Lo que vamos a hacer es simplemente establecer la puntuación actual de los jugadores en 0. Está bien, ahora déjame explicarlo en un rato. Lo que realmente hicimos aquí es que llamamos a los jugadores marcador actual. Y sí tenemos en su lugar marcador actual, tanto los puntajes del jugador uno como del jugador dos. Entonces en este de aquí, como dijimos, sí tenemos al Jugador 1, que es éste, y al jugador dos, que es éste. Y vamos a poner esto en 0. Entonces sea cual sea la corriente que tengamos, sea cual sea la jugada que tengamos de este jugador actual, simplemente lo vamos a poner en 0. Y lo que vamos a hacer entonces es comprobar si el jugador actual es el jugador uno. ¿ Y cómo hacemos eso? Vamos a comprobar si la capa actual es igual a 0. Esto significa que es el jugador uno. Y vamos a establecer el botón de puntuación actual o la etiqueta de puntuación actual y 200. Entonces para hacer eso, simplemente vamos a indicar set player1 puntaje actual, ese SetText. Y vamos a ponerlo en 0. Y también vamos a cambiar el jugador a jugador 2 porque el Jugador 1 ha perdido. Por lo que el jugador actual será del índice uno aquí. Ahora, no te confundas con esto porque el jugador actual es igual a 0. Esto significa que este es el jugador 1. Y actualmente igual a uno significa que este es el jugador dos porque empezamos en el índice 0. Ahora si este no es el caso, lo que vamos a hacer es poner al jugador a marcador actual en 0. Y simplemente vamos a cambiar al jugador actual y 200 en este caso. Ahora, note que aquí tenemos tal vez sólo un error porque Kepler no está definido y sí tenemos este reporte de problemas variable indefinida. Y este es el jugador actual que es una variable global. Y tenemos que definirlo si queremos cambiarlo o cuándo usarlo aquí mismo. Entonces para usarlo, simplemente podemos secarlo global y escribir el nombre de la variable y estamos bien para ir. Ahora como podemos ver, resolvimos el problema porque cada vez que tengamos un die one, simplemente vamos a establecer el puntaje actual de donde sea jugador que tengamos y 200, luego cambiarlo en el actual mano de obra que tenemos en expediente Piketty. Y ahora lo que podemos hacer es continuar con nuestro código o nuestra función si no tenemos dados iguales a 0. De acuerdo, entonces ahora lo que vamos a hacer es simplemente cambiar las fotos en los dados aleatorios que tenemos aquí. Entonces vamos a cambiar imagen una etiqueta, y vamos a establecer el mapa de picos en la nueva imagen. Por lo que vamos a utilizar q picks mapa. Y la imagen será, vamos a empezar con dados dash. Vamos a cambiar el número. Lo que sea que tengamos en morir uno. Entonces vamos a escribir dados, dash. Entonces vamos a sumar SDR, morir uno. Y luego vamos a añadir ese PNG. Entonces eso es todo. Básicamente, también necesitamos escalarlo. Entonces voy a seguir adelante y hacerlo aquí mismo. Entonces eso escaló y estamos bien para ir. Quién lo puede escalar en 80 por 80. Y vamos a hacer exactamente lo mismo a la imagen 2. Por lo que recoge mapa y será mapa cubicos. Y vamos a tener dados, dash plus STR, el i2. Y vamos a añadir más punto PNG. Y eso se escaló a 80.80. Muy bien, entonces ahora hemos cambiado las fotos. Déjame seguir adelante y correr esto otra vez. Entonces cada vez que rodamos el dado, podemos ver que las imágenes cambian. No obstante, aquí no tenemos valores. El puntaje actual o definir el alcance de declara. Y necesitamos mejorarlo o modificarlo. Entonces ahora lo que vamos a hacer es comprobar si el jugador actual es el jugador uno. ¿ Y cómo hacemos eso? Simplemente podemos preguntarnos, si contador es igual a 0. Si este es el caso, lo que vamos a hacer es fijar la puntuación actual del jugador uno en lo que tengamos dentro de este marcador actual más estos mueren aquí mismo. Está bien, así que hagámoslo. Si el jugador uno está jugando, entonces jugador un marcador actual, ese SetText. Y lo vamos a poner en la cadena de, vas a tener la partitura actual player1, que en realidad es una cuerda. Y sólo vamos a sumar a ella estos mueren uno y mueren a. Entonces recuerda que jugador 1 punto puntaje actual es una cuerda. Entonces si extrajo jugador quería actual Skoda obtener, lo siento, el texto. Entonces si consigo esto y traté de agregarle D1 y D2, vamos a tener un error porque lo hacemos, no podemos simplemente conseguir esto más esto. Necesitamos concatenarlos como una cadena o necesitamos convertir esto en un entero. Y para hacer eso, simplemente voy a añadir anti-A. Y estamos bien para ir. Entonces si trato de ejecutar esto, vamos a encontrarnos con otro problema, que es que no podemos agregar un entero para detectar aquí. Por lo que necesitamos convertir todos estos en una cadena. Y ahora estamos bien para ir después de eso. Lo que realmente podemos hacer es agregar también el die one y morir a, en lo menos que tenemos. Entonces recuerda que estamos en el jugador uno. Lo que en realidad podemos hacer es simplemente agregar dos jugadores puntaje actual al jugador actual que vamos a añadir a él, el di1, di2. Entonces eso es todo básicamente ahora lo que realmente podemos hacer es comprobar si este no es el caso, simplemente vamos a hacer exactamente lo mismo al segundo jugador. Entonces SetText, STR, y nos vamos a desenfocar a la puntuación actual, ese texto. Y vamos a sumarle, morir uno, morir dos. Está bien, así que creo que estamos bien para ir por ahora. Simplemente necesitamos añadir esto yendo a la corriente. O podemos, porque esto es lo mismo para ambos, pero en realidad podemos hacer es agregarlo aquí mismo. Entonces en lugar de escribirlo dos veces, voy a tomarlo y usarlo aquí mismo. Entonces creo que estamos bien para ir imagen, sólo ajustar esto y, y eso es todo básicamente para el rollo de los dados. En el siguiente video, vamos a probarlo y empezar con la siguiente función. Entonces nos vemos. 43. Juego de dares: lección de nuevos botones de juego y ganador: Muy bien, Así que bienvenido de nuevo. En este video, vamos a seguir construyendo las funciones de nuestro juego. Pero por ahora, veamos qué tenemos de esto. Enrolla los dados. Entonces cada vez que presiono sobre el rol, vamos a ver que está cambiando. También podemos ver que sí tenemos aquí mismo el número real de éstos para presionarlo. nuevo, en realidad podemos ver en el comando justo aquí que conseguimos un one y la función de rolar dados. Entonces es por eso que ponemos todo en 0. Ahora, lo que vamos a hacer es crear una función para todo el botón. Porque aunque llegué al 2003 y quiero aguantar, no pasará nada. Sólo sigue rodando hasta que consiga el 0. Y entonces la posición cambia de cualquier jugador jugando a la otra. Ahora, usando la función de retención, simplemente podemos cambiar o el usuario simplemente puede elegir eso. Ya no necesitan rodar. Sólo quiero aguantar por ahora. Y voy a ponerle nombre hold score. Y en esta función, la primera es pensar que voy a hacer es simplemente tener la capa actual global. Y vamos a empezar simplemente cambiando el marcador del jugador por lo que tengamos, una neta más el puntaje actual del jugador. Por lo que el marcador del jugador será del jugador actual, que es igual a lo que hayamos declarado. El marcador del jugador más la puntuación actual de los jugadores. El CarPlay. Entonces esto significa que si el jugador uno está jugando, por ejemplo, y quieren aguantar, lo que vamos a hacer es simplemente agregar al marcador de pareja, que es éste en el jugador actual. Entonces esto es todo. Vamos a sumarle lo que tengamos en ella, más el puntaje actual aquí mismo. Y ahora lo que vamos a hacer es simplemente fijar a los jugadores marcador actual y 200. Está bien, así que eso es todo. Básicamente, esto es lo que debemos hacer. Ahora, aunque ejecutemos esto, no vamos a conseguir nada porque en realidad no cambiamos las etiquetas que tenemos en nuestra pantalla. Por lo que también tenemos que cambiar esto. Recuerda que estos son los listados que tenemos aquí mismo. Se fueron, están aquí para ayudarnos en las funciones y la adición, porque las etiquetas reales son de tipo string y realmente podemos hacer mucho con ellas. Entonces es por eso que solo creamos esto. Ahora lo que vamos a hacer es simplemente comprobar a cualquier usuario que esté jugando. Entonces si el jugador o el jugador actual es igual a 0, esto significa que éste es el jugador 1. Simplemente vamos a poner al jugador un marcador actual en 0 porque ya no necesitábamos. Y lo que vamos a hacer es simplemente fijar también el marcador uno, que es el puntaje global aquí mismo, N2. Por lo que SetText N2. Y vamos a ponerlo a lo que tengamos al marcador del jugador, dondequiera que agregamos aquí. Por lo que para ser de tipo STR marcador de jugador al jugador actual. Y después de eso, después de sostener, simplemente vamos a cambiar la capa profunda de qué, de 0 a uno. Ahora si este no es el caso, esto significa que este es el jugador dos jugando. Entonces vamos a fijar impuesto del jugador 220. Y el marcador del jugador dos será lo que tengamos en el marcador del jugador y el jugador actual que esté jugando. Y después de eso, necesitamos cambiar al jugador de uno a 0. Ahora asegúrate de cambiar al jugador en la última línea de la declaración if, porque de lo contrario, lo vamos a usar aquí y nos vamos a confundir porque este es el núcleo uno. Y si lo cambias a par dos, vamos a conseguir el marcador del jugador dos y añadirle. Por lo tanto, asegúrate de que esta sea la última línea de tus declaraciones. Está bien, entonces eso es todo básicamente para todo el uno. Ahora si seguimos adelante y lo ejecutamos, así que déjame añadirlo muy rápido aquí mismo. Risas, rollo de dados, sostén que hizo clic. Dot connect. Y vamos a tener marcador de espera. Ahora vamos a cerrar este r1. Y vamos a ver que cada vez que presione en espera, sólo vamos a tomar todo desde aquí y colocarlo aquí. Ahora si corro. Vuelve a rodar. Podemos ver que este es el Jugador 2. No obstante, tenemos uno aquí. Por eso Platón nunca ha jugado. Pero si presiono y sostengo, y luego una vez más podemos ver que este es el jugador dos jugando ahora y aguanta. Y no conseguimos, está bien, así que nos dieron un error porque el marcador al SetText en el marcador del jugador. Y esto es porque en realidad no agregamos una cadena aquí. Entonces ahora vamos a llegar a correr de nuevo. Y como podemos ver, tenemos 10 y así sucesivamente y así sucesivamente. Entonces eso es todo. Básicamente sí tenemos ahora nuestras principales funciones, ese es el papel y mantener los dados. Ahora lo que vamos a hacer es realmente agregar una función para este nuevo juego aquí mismo. Entonces déjame simplemente agregarlo aquí. Ahora, esta función será la principal función donde vamos a crear el nuevo juego. Entonces pensemos en esto por un segundo. Y ganarías sería poner todo en 0. Así que crea nuevo juego. Y éste será simplemente para usar el Jugador actual y los jugadores puntuación actual y la puntuación del jugador. Y vamos a usarlos todos, ponerlos en Xerox. Por lo que jugador de corrientes sería igual a 0. El marcador actual de jugadores también sería igual a 0 y menos puntuación igual a 0 también. Ahora, note que aunque ejecutemos esto, aunque pongamos todo en 0, si hago rodar los dados y sostengo File, haga clic en New Game, no pasará nada. Y esto es porque en realidad no cambiamos la etiqueta que tenemos aquí mismo. Entonces, para hacer eso, simplemente lo vamos a usar aquí. Entonces jugador uno, puntaje actual, vamos a poner el texto en 0, luego hacer lo mismo para que ocurra. Y 0. Después de eso, también vamos a fijar el marcador uno a 0. Y por último, anotar dos sería también 0. Está bien, así que creo que estamos bien para irnos ahora, si vuelvo a correr esto y solo rodar una vez, aguanta, y vamos a rodar aquí aguanta. Y como podemos ver, sí tenemos 617 ocho si presiono un nuevo juego, ¿no? Entonces no pasará nada porque realmente no agregamos esta función aquí mismo. Entonces déjame agregarlo realmente rápido. Tú juego que colecciona y se conecta para crear nuevo juego. Perdón por eso. Ahora corre. Rollo, sostenga, sostenga, sostenga. Y si presiono un nuevo juego, se restablecerán en ceros. Entonces eso es todo básicamente para el nuevo juego, rodar y aguantar. Ahora sí tenemos también otra función y esto es revisar al ganador. Así que déjame seguir adelante y escribir una bandeja rápido aquí mismo. Entonces checa ganador. Y vamos a revisar el para cada vez que el usuario presiona, presiona en espera. Entonces vamos a tomar la capa actual como global. Y vamos a comprobar si el marcador del jugador al jugador actual es mayor o igual a un 100. Si este es el caso, esto significa que el jugador ya ha ganado. Y simplemente vamos a comprobar qué par ya ha ganado. Entonces si este es el jugador 1, vamos a establecer el texto del Jugador 1 y 2, ganador y poner el texto en uno a dos. Ahora, sigamos adelante y ejecutemos esto. Lo siento, aquí por un texto al jugador dos, va a comprobar si este es el jugador 1 y mostrar dos. Ahora sigamos adelante y ejecutemos esto y vamos a encontrar algunos problemas que necesitamos depurar. De acuerdo, así que al principio necesitamos agregar el ganador del cheque a toda la función. Como dijimos, necesitamos revisar cada vez que el usuario retenga. Entonces si supera los 100, entonces simplemente vamos a cambiar el 12. Está bien, así que déjame volver a ejecutar esto. Y como podemos ver, si tenemos 17, lo vamos a conseguir aquí. Entonces vamos a rodar de nuevo, capa a capa uno y así sucesivamente y así sucesivamente hasta alcanzar el número real de 100. Ahora, como pueden ver, sí tenemos aquí, de acuerdo, así que 82 más 41 en realidad es mayor que un 100. No obstante, si presiono y sostengo, no pasará nada. Aquí sí tenemos un 123. Dos sobrejugados en realidad no es el ganador todavía. Y si sigo, y también tengo aquí un 105. Entonces si presiono otra vez hold y presiono, entonces otra vez, vamos a ver que sí tenemos ganador aquí mismo. Ahora esto se debe a que revisamos al ganador de acuerdo al puntaje real aquí mismo. En realidad no estamos agregando el código de latas que tenemos un momento que sí tenemos. Sí teníamos 81 más algo en los años 40. Por lo que necesitamos sumar 81 más 40 y luego comprobar si supera los 100. Entonces déjame solo seguir adelante y hacerlo aquí. Por lo que es marcador de jugador en jugador actual más vamos a conseguir jugadores puntaje actual. También jugador actual. El total de estos supera los 100. Esto significa que estamos en el buen camino y este es el real cuando un no, déjame simplemente ejecutarlo de nuevo. Y voy a comprobarlo muy rápido. Esta vez. Tenemos 29 y 17. Y voy a tener bien, así que vamos a tener aquí 83 y también tenemos 25. Por lo que el total entre ellos absolutamente es un mayor a un 100. Entonces ahora si presiono y sostengo, vamos a ver un 108. Y éste es el uno. Ahora la segunda parte que tenemos es que terminamos este juego y queremos crear uno nuevo. Entonces si presiono en este nuevo juego, vamos a poner todo a 0. No obstante, podemos notar que el jugador dos en realidad es simplemente laborioso también. Entonces vamos a seguir adelante y arreglar eso en el crear nuevo juego aquí. Entonces voy a poner player1, ese SetText y al jugador 1, jugador 2, que puso S en la capa dos. Muy bien, entonces eso es todo básicamente. Ahora si seguimos adelante y corremos esto de nuevo, y si seguimos construyendo esto. Entonces voy a tal vez, voy a simplemente disminuirlo por, por un poco aquí en 25, sólo por el bien de este ejemplo. Por lo que ahora quien llegue a 25 como el verdadero ganador. Por lo que en 1912 más 70 y aguanta, este es el ganador. Ahora si creo nuevo juego, todo se pondrá en ceros e incluyendo el jugador uno y el jugador dos etiquetas. Entonces eso es todo básicamente para este juego de dados. Hemos creado el front end y back y hazlo. Y creo que es una gran manera utilizar todo lo que hemos aprendido hasta ahora de q etiquetas, botones de empuje sesgado, y solo usar funciones dentro de nuestro bolsillo, 25 aplicaciones y usar el selecto Connect. Usa CSS aquí mismo, y entra en el lucio 35 detalles desde el mapa de picos en establecer la alineación, así sucesivamente y así sucesivamente. Entonces eso es todo básicamente para este proyecto. Nos vemos el siguiente. 44. Proyecto: Hola y bienvenidos de nuevo. En este proyecto, vamos a aplicar lo que has aprendido antes y aprobado el juego de dados que acabamos de crear. Ahora recordemos que en nuestro juego de dados, sí tenemos dos jugadores que necesitan jugar. Y sí tienen que anotarse realmente dos filas y sostener, como este ejemplo. Ahora, tu tarea es dejar que el jugador decida si quiere tener un jugador contra la computadora o que se desgarre el uno contra el otro. Ahora, en el caso de dos jugadores contra otros, no pasará nada. Este código funcionará tan bueno como es. Y en el caso de Declare versus computadora, es necesario mejorar este código. Por lo que tu tarea es en realidad crear nuevas funciones para la aleatorización de un programa. Ahora recuerda que sí tienes todas las funciones que necesitas, como el hold and draw. Solo necesitas hacerlas para el lado del programa. Entonces en lugar de tener dos jugadores que puedan empatar y sostener, vas a tener un jugador para rodar y sostener. Y entonces la computadora también rodará aleatoriamente y sostendrá uno, viene el término. Entonces eso es todo básicamente para todo este proyecto. Y dejaré la puerta para tu creatividad con el fin crear las funciones requeridas. Y eso es todo. Básicamente no te olvides de dejar caer este proyecto en la sección de proyectos para que te pueda dar mis comentarios. Y si tienes alguna pregunta, por favor no dudes en ponerte en contacto conmigo y me aseguraré de contestar. Entonces eso es todo básicamente para la sección de proyectos. Espero verte pronto en mis próximos cursos. Adiós.