Cambiar el tamaño y la posición del botó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.
En este artículo, veremos cómo podemos cambiar el tamaño y la posición del botón en kivy Python. Hay 4 propiedades para configurar, el tamaño y la posición del botón. Hay 2 propiedades que son para ubicación estática y otras 2 son para ubicación dinámica.
 

tamaño: toma dos argumentos, es decir (ancho, alto).
 

Python3

b1 = Button(size =(100, 100))
b2 = Button(size =(200, 200))

pos : pos significa posición, es decir, se utiliza para colocar el widget. De forma predeterminada (0, 0), la esquina inferior izquierda de la pantalla es la posición predeterminada del botón en kivy python. 
 

Python3

b1 = Button(pos =(100, 100))
b2 = Button(pos =(200, 200))

size_hint : proporciona una pista de tamaño. Contiene dos argumentos, es decir, ancho y alto, pueden ser valores flotantes. Por defecto, todos los widgets tienen su size_hint=(1, 1). Para crear un botón con el 50 % del ancho y el 25 % del alto del diseño y posicionado en (20, 20), puede hacer lo siguiente:
 

Python3

button = Button(
    text ='Hello world',
    size_hint =(.5, .25),
    pos =(20, 20))

pos_hint : proporciona una pista de la posición. Podemos definir hasta 8 claves, es decir, toma argumentos en forma de diccionario. 
 

pos_hint = {“x”:1, “y”:1, “left”:1, “right”:1, "center_x":1,
                "center_y":1, "top”:1, “bottom”:1("top":0)}

Si desea crear un botón que siempre tendrá el tamaño del diseño menos un 20 % en cada lado:
 

Python3

button = Button(text ='Hello world', size_hint =(.6, .6),
                pos_hint ={'x':.2, 'y':.2})

Tutorial de Kivy: aprenda Kivy con ejemplos.

Nota: 
 

  • Solo puede usar valores entre 0 y 1 para size_hint y pos_hint. Donde 0 = 0% y 1 = 100%.
  • ¡El sistema de coordenadas en kivy funciona desde la parte inferior izquierda! Esto será importante a la hora de colocar nuestros objetos. (es decir, (0, 0) es la parte inferior izquierda).
Basic Approach:

1) import kivy
2) import kivyApp
3) import all neaded(like button and layouts to use them)
4) Set minimum version(optional)
5) create Layout class
6) create App class
7) Set up the position and size of the buttons
8) return Layout/widget/Class(according to requirement)
9) Run an instance of the class

A continuación se muestra la implementación de las 4 propiedades:
 

Python3

## Sample Python application demonstrating the
## How to change button position and size in Kivy.
###################################################
# import modules
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
 
# creates the button in kivy
# if not imported shows the error
from kivy.uix.button import Button
 
# This layout allows you to set relative coordinates for children.
from kivy.uix.relativelayout import RelativeLayout
 
# To change the kivy default settings
# we use this module config
from kivy.config import Config
     
# 0 being off 1 being on as in true / false
# you can use 0 or 1 && True or False
Config.set('graphics', 'resizable', True)
 
# creating the App class
class Pos_Size_App(App):
     
    def build(self):
 
        # A Relative Layout with a size of (300, 300) is created
        rl = RelativeLayout(size =(300, 300))
         
        # creating button
        # size of button is 20 % by height and width of layout
        # position is 'center_x':.7, 'center_y':.5
        b1 = Button(size_hint =(.2, .2),
                    pos_hint ={'center_x':.7, 'center_y':.5},
                    text ="pos_hint")
 
        # creating button
        # size of button is 20 % by height and 50 % width of layout
        b2 = Button(size_hint =(.5, .2), 
                    text ="size_hint")
 
                # creating button
        # size of button is 20 % by height and width of layout
        # position is 200, 200 from bottom left
        b3 = Button( size_hint =(.2, .2),
                    pos =(200, 200),
                    text ="pos")
         
         
 
        # adding button to widget
        rl.add_widget(b1)
        rl.add_widget(b2)
        rl.add_widget(b3)
     
         
        # returning widget
        return rl
 
# run the App
if __name__ == "__main__":
    Pos_Size_App().run()

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 *