Python | Dispersión en kivy

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.

👉🏽 Tutorial de Kivy: aprenda Kivy con ejemplos .

Dispersión

Scatter se utiliza para crear widgets interactivos que se pueden traducir, rotar y escalar con dos o más dedos en un sistema multitáctil.

Contiene sus propias transformaciones de array. La clase Scatter permite a un usuario arrastrar, escalar y rotar cualquier widget que esté bajo su control.

Al igual que en Relativelayout, los elementos secundarios se colocan en relación con la dispersión.
Entonces, al arrastrar el scatter, la posición de los niños no cambia, solo cambia la posición del scatter.

El tamaño de dispersión no tiene impacto en el tamaño de sus hijos. Si desea cambiar su tamaño, puede usar la escala, que transforma tanto la dispersión como sus elementos secundarios, pero no cambia el tamaño.

Basic Approach:
1) import kivy
2) import kivyApp
3) import scatter
4) import Relativelayout
5) import widget
6) Set minimum version(optional)
7) create Widget class
8) create layout class
9) create App class
10) create the, kv file
11) return Layout/widget/Class(according to requirement)
12) Run an instance of the class

Para usar Scatter, primero debe importarlo con el comando:
from kivy.uix.scatter import Scatter

# Implementación del Enfoque:

archivo .py

# Program to explain how to use Scatter in kivy  
       
# import kivy module     
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  
       
# this restrict the kivy version i.e   
# below this kivy version you cannot   
# use the app or software   
kivy.require('1.9.0')  
  
# Scatter is used to build interactive
# widgets that can be translated,
# rotated and scaled with two or
# more fingers on a multitouch system.
from kivy.uix.scatter import Scatter
  
# Widgets are elements of a
# graphical user interface that
# form part of the User Experience.
from kivy.uix.widget import Widget
  
# This layout allows you to set relative coordinates for children. 
from kivy.uix.relativelayout import RelativeLayout
  
  
# Creating widget class
class SquareWidget(Widget):
    pass
  
# Creating Scatter Class
class ScatterWidget(Scatter):
    pass
  
# Create the layout class
class Scatter_App(RelativeLayout):
    pass
            
class ScatterApp(App):
    def build(self):
        return Scatter_App()
  
if __name__=='__main__':
    ScatterApp().run()

archivo .kv

# .kv file implementation
  
# Create the square to show scatter
<SquareWidget>:
    size: 100, 100
    canvas:
        Color:
            rgb: [0.345, 0.85, 0.456]
        Rectangle:
            size: self.size
            pos: self.pos
  
  
# Create the scatter properties           
<Scatter_App>:
      
    canvas:
        Color:
            rgb: .8, .5, .4
        Rectangle:
            size: self.size
            pos: self.pos
  
    ScatterWidget:
        id: square_widget_id
        SquareWidget:
  
    # Showing the current position of the box
    Label:
        text: 'Position: ' + str(square_widget_id.pos)
        size_hint: .1, .1
        pos: 500, 300

Producción:

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 *