Blog
Widgets y Labels de Kivy
- Publicado por: Rafael Fernandez
- Categoría: Blog Kivy Videojuegos
En este tutorial de Kivy, vamos a discutir la noción de “labels” (etiquetas) y “widgets”. La idea de los widgets es tener un puñado de varios tipos de elementos, y luego los podemos juntar para una aplicación. Piense en una página de inicio con un login. Puede que tengas una página de inicio con algún texto que diga algo como “nombre de usuario” y “contraseña”. También necesitará algunos campos de texto para la entrada. Para hacer esto con Kivy, usaremos Label para tener el texto, luego vamos a usar un widget de entrada de texto para dejar que el usuario escriba algo.
Archivo KivyVideo2. py:
from kivy.app import App #kivy.require("1.8.0") from kivy.uix.label import Label from kivy.uix.gridlayout import GridLayout from kivy.uix.textinput import TextInput
Importación de la aplicación como siempre, y etiqueta como antes. Entonces estamos importando el GridLayout, que es uno de los muchos tipos de layouts. Finalmente, estamos cogiendo TextInput de Kivy.
LoginScreen, que heredará de GridLayout. Usamos super para evitar tener que referirnos a la clase base, así como utilizar multiherederos.
class LoginScreen(GridLayout): def __init__(self, **kwargs): super(LoginScreen, self).__init__(**kwargs) self.cols = 2
Si está confundido acerca de POO, consulta la intro de programación orientado a objetos en Python.
Añadir un widget Label con el texto del nombre de usuario. Luego añadimos una entrada de texto para guardar como nombre de usuario, y añadimos ese widget.
self.add_widget(Label(text="Username:")) self.username = TextInput(multiline=False) self.add_widget(self.username)
Después de ver cómo agregar la label (Etiqueta) de nombre de usuario y el campo de entrada de texto de nombre de usuario, entonces podemos usar una estructura idéntica para crear una Etiqueta de Contraseña, luego texto-entrada. Entonces lo hacemos una vez más para otro campo, esta vez para la autenticación de dos factores como ejemplo.
self.add_widget(Label(text="Password:")) self.password = TextInput(multiline=False, password=True) self.add_widget(self.password) self.add_widget(Label(text="Two Factor Auth:")) self.tfa = TextInput(multiline=False) self.add_widget(self.tfa)
Note que también tenemos otro parámetro en el widget de contraseña, que es este “password = True”. Al ejecutarse, verá que este parámetro convertirá el texto introducido en asteriscos, para enmascarar la contraseña a los curiosos.
Ahora acabamos de terminar el script con algún código familiar, principalmente cambiando el retorno del SimpleKivy. build para que sea devuelto LoginScreen (la clase que acabamos de escribir)
class SimpleKivy(App): def build(self): return LoginScreen() if __name__ == "__main__": SimpleKivy().run()
¡Eso es todo! Ahora puedes correrlo, y deberías ver algo parecido:
➡ Hasta ahora, hemos codificado todo en Python. En realidad, puedes codificar toda tu aplicación Kivy dentro de Python, pero es posible que te lo estés perdiendo al no usar el lenguaje Kivy (archivos. kv). Aprende mucho mas de Kivy y desarrollo de juegos con Python en nuestro Curso Python de Videojuegos: