Kivy es una herramienta GUI independiente de la plataforma en Python. Como se puede ejecutar en Android, IOS, Linux y Windows, etc. Básicamente se usa para desarrollar la aplicación de Android, pero eso no significa que no se pueda usar en aplicaciones de escritorio.
Diseño de página:
PageLayout funciona de manera diferente a otros diseños. Es un diseño dinámico, en el sentido de que permite hojear las páginas utilizando sus bordes. La idea es que sus componentes estén apilados uno frente al otro, y solo podamos ver el que está en la parte superior.
La clase PageLayout se usa para crear un diseño simple de varias páginas, de una manera que permite pasar fácilmente de una página a otra usando el borde.
Para usar PageLayout, debe importarlo con el siguiente comando:
from kivy.uix.pagelayout import PageLayout
Nota:
PageLayout actualmente no respeta las propiedades size_hint, size_hint_min, size_hint_max o pos_hint. Eso significa que no podemos usarlas todas en un diseño de página.
Enfoque básico para crear PageLayout:
1) import kivy 2) import kivyApp 3) import Pagelayout 4) import button 5) Set minimum version(optional) 6) create App class: - define build() function 7) return Layout/widget/Class(according to requirement) 8) Run an instance of the class
Implementación del Enfoque:
Python3
# Sample Python application demonstrating # How to create PageLayout in Kivy import kivy # base Class of your App inherits from the App class. # app:always refers to the instance of your application from kivy.app import App # The PageLayout class is used to create # a simple multi-page layout, # in a way that allows easy flipping from # one page to another using borders. from kivy.uix.pagelayout import PageLayout # creates the button in kivy # if not imported shows the error from kivy.uix.button import Button class PageLayout(PageLayout): """ Define class PageLayout here """ def __init__(self): # The super function in Python can be # used to gain access to inherited methods # which is either from a parent or sibling class. super(PageLayout, self).__init__() # creating buttons on different pages btn1 = Button(text ='Page 1') btn2 = Button(text ='Page 2') btn3 = Button(text ='Page 3') # adding button on the screen # by add widget method self.add_widget(btn1) self.add_widget(btn2) self.add_widget(btn3) # creating the App class class Page_LayoutApp(App): """ App class here """ def build(self): """ build function here """ return PageLayout() # Run the App if __name__ == '__main__': Page_LayoutApp().run()
Salida:
imagen de la página 1
Imagen de la página 2
Imagen de la página 3
En PageLayout puede agregar algunas características en cada página. Podemos agregar imágenes, crear lienzos, agregar colores, agregar múltiples widgets, múltiples diseños.
Así es como podemos usar PageLayout de manera eficiente. Uno de los mejores ejemplos Nuestra galería Contiene varias páginas.
A continuación se muestra el código en el que agrego el color diferente a cada página con la ayuda de get_color_from_hex
Implementación del PageLayout con características
Python3
# Sample Python application demonstrating the # working of PageLayout in Kivy with some features import kivy # base Class of your App inherits from the App class. # app:always refers to the instance of your application from kivy.app import App # The PageLayout class is used to create # a simple multi-page layout, # in a way that allows easy flipping from # one page to another using borders. from kivy.uix.pagelayout import PageLayout # creates the button in kivy # if not imported shows the error from kivy.uix.button import Button # The Utils module provides a selection of general utility # functions and classes that may be useful for various applications. # These include maths, color, algebraic and platform functions. # Here we are using color from the module # By get_color_from_hex # Transform a hex string color to a kivy Color. from kivy.utils import get_color_from_hex class PageLayout(PageLayout): """ Define class PageLayout here """ def __init__(self): # The super function in Python can be # used to gain access to inherited methods # which is either from a parent or sibling class. super(PageLayout, self).__init__() # creating buttons on different pages # Button 1 or Page 1 btn1 = Button(text ='Page 1') # Adding Colour to page # Here we are using colour from btn1.background_color = get_color_from_hex('# FF0000') btn2 = Button(text ='Page 2') btn2.background_color = get_color_from_hex('# 00FF00') btn3 = Button(text ='Page 3') btn3.background_color = get_color_from_hex('# 0000FF') # adding button on the screen # by add widget method self.add_widget(btn1) self.add_widget(btn2) self.add_widget(btn3) # creating the App class class Page_LayoutApp(App): """ App class here """ def build(self): """ build function here """ return PageLayout() # Run the App if __name__ == '__main__': Page_LayoutApp().run()
Salida:
Página 1
Página 2
Página 3
Salida de vídeo:
Nota: Más efectivo cuando funciona en Android, iOS, cualquier otra computadora portátil compatible con el tacto.
Referencia: https://kivy.org/doc/stable/api-kivy.uix.pagelayout.html
Publicación traducida automáticamente
Artículo escrito por YashKhandelwal8 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA