Python | Haz una ventana simple usando kivy

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *