Desarrollo de interfaces gráficas en Python 3 con Tkinter. Tomás Domínguez Mínguez

Читать онлайн.
Название Desarrollo de interfaces gráficas en Python 3 con Tkinter
Автор произведения Tomás Domínguez Mínguez
Жанр Математика
Серия
Издательство Математика
Год выпуска 0
isbn 9788426734013



Скачать книгу

      La siguiente variable (texto_auxiliar) contiene un texto auxiliar, al que se han añadido a la derecha tantos espacios como número de caracteres tenga el texto que mostrar. Su necesidad la entenderá más adelante:

illustration

      Saltando la declaración de la función que realizará el desplazamiento horizontal del texto, se encuentran las sentencias que crean la ventana principal (root) y establecen el nombre que se verá en la barra de título:

illustration

      Luego, se crea la variable de control que contendrá la parte del texto que se muestra en cada momento (variable_control) para dar sensación de movimiento. Será un objeto de la clase StringVar porque su contenido será un texto:

illustration

      A continuación, se crea la etiqueta. Ya conoce todas las opciones utilizadas, excepto textvariable, que será la que asocie la variable de control que se acaba de crear (variable_control) con la etiqueta. Cada vez que asigne un nuevo texto a dicha variable, la etiqueta lo mostrará en pantalla de forma automática. Por ese motivo, en el constructor no se ha utilizado la opción text. Además, es importante destacar que se hace coincidir el tamaño de la etiqueta (atributo width) con la longitud del texto que mostrar. Más adelante entenderá el motivo:

illustration

      Una vez creada la etiqueta, se sitúa en la ventana principal con el método pack():

illustration

      Solo queda llamar a la función que comenzará el desplazamiento del texto:

illustration

      La última sentencia invoca el método mainloop() de la ventana principal. Aunque no se generen eventos de usuario, es necesario para el correcto funcionamiento del método after(), utilizado dentro de la función anterior para provocar el movimiento del texto:

illustration

      Tras describir el flujo principal del programa, llegó el momento de estudiar la función avanza(), encargada de dotar de movimiento al texto de la etiqueta. Dicha función declara la variable texto_auxiliar como global, porque su valor será modificado en cada una de las ejecuciones de la función, que será compartida en todas ellas:

illustration

      Las tres variables siguientes quitan el último carácter del texto auxiliar (texto_auxiliar) y lo insertan al principio. Como al iniciar el programa este se compuso añadiendo al texto del mensaje el mismo número de espacios en blanco que su tamaño, provocará un efecto de desplazamiento hacia la derecha. Eso es debido a que estos espacios en blanco se van colocando al principio, y van desplazando el texto en dicho sentido. Cuando ya no haya más caracteres en blanco, el mensaje volverá a aparecer por la izquierda, siguiendo el mismo movimiento:

illustration

      La siguiente sentencia es la más importante desde el punto de vista de esta práctica, ya que asigna el texto auxiliar que se acaba de obtener a la variable de control asociada a la etiqueta con el método set(). Pero no se copiarán todos sus caracteres, sino únicamente los correspondientes al tamaño de la etiqueta, que coincide con el número de caracteres del texto original (atributo width):

illustration

      Finalmente, se llama al método after(), para que este proceso se repita de forma regular, provocando así un desplazamiento continuo del texto:

illustration

      Solo queda ejecutar el programa y comprobar que se produce el efecto deseado.

      Конец ознакомительного фрагмента.

      Текст предоставлен ООО «ЛитРес».

      Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

      Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QN1aHR0cDov L25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENl aGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4 OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA2LjAtYzAwMiA3OS4xNjQ0ODgsIDIwMjAvMDcvMTAtMjI6 MDY6NTMgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5 OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHht bG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0i aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1w PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9 InhtcC5kaWQ6QzA3RDVBRUYxQTIwNjgxMUFCMDg5N0U4MTAwM0U1OUQiIHhtcE1NOkRvY3VtZW50 SUQ9InhtcC5kaWQ6N0M2NTZEMDcyNUJDMTFFQzg4NkFFQUFFMUEwOERCN0EiIHhtcE1NOkluc3Rh bmNlSUQ9InhtcC5paWQ6N0M2NTZEMDYyNUJDMTFFQzg4NkFFQUFFMUEwOERCN0EiIHhtcDpDcmVh dG9yVG9vbD0iQWRvYmUgSW5EZXNpZ24gMTYuMSAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVk RnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ1dWlkOjkzODE3M2YwLWZkNGYtMmI0NC1iYTMyLTU1ZjEy YTkwNTRhYyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmlkOjNhMzNlYWM2LThkNWMtNGViYS04MTRh LTIyNWJjMjBmOTA3NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0 YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9iZQBkwAAAAAH/2wCEAAYEBAQFBAYFBQYJBgUG CQsIBgYICwwKCgsKCgwQDAwMDAwMEAwODxAPDgwTExQUExMcGxsbHB8fHx8fHx8fHx8BBwcHDQwN GBAQGBoVERUaHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f H//AABEIC7gIPgMBEQACEQEDEQH/xADUAAEAAQUBAQEAAAAAAAAAAAAAAQIDBAUGBwgJAQEBAQEB AQEBAAAAAAAAAAAAAQIDBAUGBxAAAQMDAgMEBQUHDwoFAgILAQACAxEEBSEGMUESUWETB3GBkSIy obFCFAjB0VJyI5MVYoKSstIzU7N0lFUWVjcY8OGiQ3MkNHU2F/HCY9M1g1S0JcNEo2SkJkVmJ0Zl EQEAAgIBAwMBBQQIBgICAQUAAQIRAwQhMRJBUQUTYXEiMhShQhUGgZGxwdFSYhbw4XIjMzSCU6Ky 8ZLCQyTS/9oADAMBAAIRAxEAPwD5eX6VxEBAUBAQEBAUBAQEBAQFBCAgIooCAgICgICAgICArkEy CAgICAmQTIJkFAQEBAQEBAQFAQEEg0+6tQRIRQ/MhMIUBIFyGN8hcxjS57hQNAqeIVddVJtMxWMz /wA3X4G0vbWzMdzQCvVGziWg8aqP3Hw3G3adXjs/oj2ZlzcQWsL55T0sGriBUk8Ee/fupppN7dIc zkdyXVxWO2BgiO