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:
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:
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:
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:
Una vez creada la etiqueta, se sitúa en la ventana principal con el método pack():
Solo queda llamar a la función que comenzará el desplazamiento del texto:
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:
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:
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:
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):
Finalmente, se llama al método after(), para que este proceso se repita de forma regular, provocando así un desplazamiento continuo del texto:
Solo queda ejecutar el programa y comprobar que se produce el efecto deseado.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.