Fuentes en Kivymd-Python

En este artículo, desarrollaremos una ventana GUI utilizando el marco kivy de Python.

Kivy es una herramienta GUI independiente de la plataforma en Python. Es una biblioteca Python de código abierto para el desarrollo rápido de aplicaciones multitáctiles en Windows, macOS, Android, iOS, Linux y Raspberry Pi. El paquete KivyMD es una colección de widgets compatibles con Material Design que se pueden usar con el módulo Kivy. En este artículo, desarrollaremos una ventana GUI utilizando el marco kivy de Python y agregaremos los estilos de fuente disponibles en KivyMD.

Instalación:

Para instalar los módulos, escriba el siguiente comando en la terminal.

pip install kivy
pip install kivymd

Estilos de fuente disponibles en KivyMD:

S. No Estilo de fuente
1                              H1                                                                                 
2 H2
3 H3
4 H4
5 H5
6 H6
7 Subtítulo1
8 Subtítulo2
9 cuerpo1
10 cuerpo2
11 Botón
12 Subtítulo
13 sobrerayado
14 Icono

Método 2: Hacer con lenguaje Kv.

Paso 1: importe los paquetes necesarios.

Para esto, necesitaremos importar Builder desde kivy y MDApp, MDLabel desde el paquete kivymd.

Python3

installing packages
from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.label import MDLabel

Paso 2:   Diseñe el diseño utilizando el lenguaje kv.

Primero, declararemos la clase de widget de pantalla llamada MDScreen y luego la clase de widget secundaria. Aquí, MDBoxLayout es una clase secundaria y MDToolbar es una clase secundaria.
Usaremos la identificación y la orientación en nuestro MDBoxLayout, aquí nuestra identificación será un cuadro y estableceremos nuestra orientación en vertical. MDToolbar tendrá un solo parámetro llamado título. El título funciona como un texto de salida en MDToolbar.

Python3

#  kv lang
KV = '''
# declaring screen
MDScreen:
      
    #this will create vertical box layout
    MDBoxLayout:
        id: box
        orientation: "vertical"
  
        MDToolbar:
            title: "MDFonts"
'''

Paso 3: Escribiendo el programa principal.

Para ejecutar el archivo kv, usaremos load_string() y le pasaremos nuestro lenguaje kv y definiremos una función llamada build() y cuando se llame, cargará kv y devolverá la pantalla. run() se usa para ejecutar la clase y no requiere ningún parámetro.

Para mostrar varias fuentes, usaremos un bucle for y agregaremos el widget uno por uno usando add_widget() y le pasaremos la MDLabel. Aquí MDLabel toma 3 parámetros:

Sintaxis: MDLabel(texto=””, halign=””,font_style=””)

donde text es nuestro texto de salida, halign se usa para alinear el texto, por lo que para este ejemplo usamos center y font_style es la fuente que queremos usar para el texto. Puede elegir cualquier fuente enumerada en la tabla anterior.

Python3

# app class
class Test(MDApp):
    def build(self):
        
        # this will load kv lang
        screen = Builder.load_string(KV)
          
        # running loop for all the declared font name
        for font_name in [
            "H1",
            "H2",
            "Subtitle1",
            "Button",
            "Overline",
            "Caption",
            "Icon",
        ]:  # this will add widgets to the screen 
            # for all font_name
            # declared in list
            screen.ids.box.add_widget(
                MDLabel(
                    text= "GEEKSFORGEEKS",
                    halign="center",
                    font_style=font_name,
                )
            )
        # returning screen
        return screen
  
# running app
Test().run()

Implementación:

Python3

# installing packages
from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.label import MDLabel
  
# kv lang
KV = '''
# declaring screen
MDScreen:
      
    #this will create vertical box layout
    MDBoxLayout:
        id: box
        orientation: "vertical"
  
        MDToolbar:
            title: "MDFonts"
'''
  
# app class
class Test(MDApp):
    def build(self):
        
        # this will load kv lang
        screen = Builder.load_string(KV)
          
        # running loop for all the declared font name
        for font_name in [
            "H1",
            "H2",
            "Subtitle1",
            "Button",
            "Overline",
            "Caption",
            "Icon",
        ]:  # this will add widgets to the screen 
            # for all font_name
            # declared in list
            screen.ids.box.add_widget(
                MDLabel(
                    text= "GEEKSFORGEEKS",
                    halign="center",
                    font_style=font_name,
                )
            )
        # returning screen
        return screen
  
# running app
Test().run()

Producción:

Fonts in Kivymd

 

Método 2: Hacer lo mismo sin lenguaje Kv.

Paso 1: Importación de paquetes.

Python3

# importing packages
from kivymd.app import MDApp
from kivymd.uix.label import MDLabel
from kivymd.uix.boxlayout import MDBoxLayout

Paso 2: Escribiendo el programa principal.

En este paso, la función principal será similar al ejemplo anterior. La única diferencia aquí es que estamos definiendo MDBoxLayout en la función principal y pasando el parámetro de orientación. Ahora aplicaremos el mismo ciclo que se hizo en el ejemplo anterior. Después de todo esto, ejecutaremos la clase MainApp.

Python3

# defining MainApp class
class MainApp(MDApp):
    def build(self):
          
        # this will set MDBoxLayout to vertical
        screen = MDBoxLayout(orientation = 'vertical')
          
        # running loop for all the declared font name
        for name_theme in [
            "H1",
            "H2",
            "Subtitle1",
            "Button",
            "Overline",
            "Caption",
            "Icon",
        ]:  # this will add widgets to the screen 
            # for all font_name
            # declared in list
            screen.add_widget(
                MDLabel(
                    text="GEEKSFORGEEKS",
                    halign="center",
                    font_style=name_theme,
                )
            )
          
        # returing screen
        return screen
        
# running app
MainApp().run()

Implementación:

Python3

# importing packages
from kivymd.app import MDApp
from kivymd.uix.label import MDLabel
from kivymd.uix.boxlayout import MDBoxLayout
  
# defining MainApp class
class MainApp(MDApp):
    def build(self):
          
        # this will set MDBoxLayout to vertical
        screen = MDBoxLayout(orientation = 'vertical')
          
        # running loop for all the declared font name
        for name_theme in [
            "H1",
            "H2",
            "Subtitle1",
            "Button",
            "Overline",
            "Caption",
            "Icon",
        ]:  # this will add widgets to the screen 
            # for all font_name
            # declared in list
            screen.add_widget(
                MDLabel(
                    text="GEEKSFORGEEKS",
                    halign="center",
                    font_style=name_theme,
                )
            )
          
        # returing screen
        return screen
        
# running app
MainApp().run()

Producción:

Fonts in Kivymd

 

Publicación traducida automáticamente

Artículo escrito por vinamrayadav 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 *