Kivy es una plataforma independiente, ya que se puede ejecutar en Android, IOS, Linux y Windows, etc. Kivy le brinda la funcionalidad de escribir el código una vez y ejecutarlo en diferentes plataformas. Básicamente se usa para desarrollar la aplicación de Android, pero no significa que no se pueda usar en aplicaciones de escritorio.
Use este comando para instalar kivy:
pip install kivy
Ahora, en este artículo, discutiremos cómo crear una ventana en kivy, como una pantalla de inicio de sesión que puede tomar el nombre de usuario y la contraseña del usuario sin la funcionalidad solo el diseño de esto.
????????? Tutorial de Kivy: aprenda Kivy con ejemplos .
Para crear la página de inicio de sesión, primero debemos importar algunas características de kivy: widgets, gridlayout.
Python3
# base Class of your App inherits from the App class. from kivy.app import App # GridLayout arranges children in a matrix. from kivy.uix.gridlayout import GridLayout # Label is used to label something from kivy.uix.label import Label # used to take input from users from kivy.uix.textinput import TextInput class LoginScreen(GridLayout): def __init__(self, **var_args): super(LoginScreen, self).__init__(**var_args) # super function can be used to gain access # to inherited methods from a parent or sibling class # that has been overwritten in a class object. self.cols = 2 # You can change it accordingly self.add_widget(Label(text ='User Name')) self.username = TextInput(multiline = True) # multiline is used to take # multiline input if it is true self.add_widget(self.username) self.add_widget(Label(text ='password')) self.password = TextInput(password = True, multiline = False) # password true is used to hide it # by * self.add_widget(self.password) self.add_widget(Label(text ='Comfirm password')) self.password = TextInput(password = True, multiline = False) self.add_widget(self.password) # the Base Class of our Kivy App class MyApp(App): def build(self): # return a LoginScreen() as a root widget return LoginScreen() if __name__ == '__main__': MyApp().run()
Producción:
Explicación del código:
clase LoginScreen (GridLayout):
- En esta clase, creamos las cuadrículas y los bloques como nombre de usuario, contraseña y proporcionamos la funcionalidad de entrada de texto. Veamos ahora la descripción detallada.
En la clase LoginScreen, anulamos el método __init__() para agregar widgets y definir su comportamiento.
Python3
def __init__(self, **kwargs): super(LoginScreen, self).__init__(**kwargs)
- No se debe olvidar llamar a super para implementar la funcionalidad de la clase original que se está
sobrecargando. También tenga en cuenta que es una buena práctica no omitir los **kwargs al llamar a super, ya que a veces se usan internamente. - Le pedimos a GridLayout que administre sus elementos secundarios en dos columnas y agregue una etiqueta y una entrada de texto para
el nombre de usuario y la contraseña.
Python
self.cols = 2 self.add_widget(Label(text='User Name')) self.username = TextInput(multiline=False) self.add_widget(self.username) self.add_widget(Label(text='password')) self.password = TextInput(password=True, multiline=False) self.add_widget(self.password)
clase MiAplicación:
- Esta clase se deriva de la clase App() de kivy.app . Esta clase es la clase base para crear la aplicación kivy. Es básicamente el principal punto de entrada al ciclo de ejecución de kivy.
En la mayoría de los casos, subclasificamos esta clase y creamos nuestra propia aplicación. creamos la instancia de la clase App() específica, cuando estemos listos para comenzar, llamamos al método App().run() de la instancia.
Aquí el método build() “Inicializa la aplicación; se llamará una sola vez. Si este método devuelve un widget (árbol), se utilizará como widget raíz y se agregará a la ventana.
Devuelve: Ninguno o una instancia de Widget root si no existe self.root .” - MyApp.run() es el método run(). Inicia la aplicación en modo independiente y llama a la clase MyApp, que devuelve la clase Loginscreen().
La mejor parte es que intente cambiar el tamaño de la ventana y verá que los widgets en la pantalla se ajustan según el tamaño de la ventana porque los widgets usan sugerencias de tamaño (ajuste) de forma predeterminada.
Por ejemplo :
Publicación traducida automáticamente
Artículo escrito por YashKhandelwal8 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA