Python: cambie el tamaño y la posición del botón kivy usando el archivo kv

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 en el archivo kv.
 

tamaño : Esto es para el tamaño estático de los widgets y toma dos argumentos, es decir, (ancho, alto). Tamaño predeterminado del botón = (100, 100). 

Syntax: b1 = Button(size=(100, 100))

pos : Esto es para la colocación estática de widgets y se usa para dar posición al botón y, de forma predeterminada, es (0, 0), que es la esquina inferior izquierda de la pantalla. 

Syntax : b1 = Button(pos=(100, 100))

size_hint : Esto es para el tamaño dinámico del botón y proporciona una pista de tamaño. Contiene dos argumentos, es decir, ancho y alto, pueden ser valores flotantes. De forma predeterminada, todos los widgets tienen su size_hint=(1, 1). 

Python3

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

pos_hint : esto es para la ubicación dinámica del botón y 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)}

Python3

button = Button(text='Hello world', size_hint=(.6, .6),
               pos_hint={'x':.2, 'y':.2})
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 .kv file : Create the buttons and set up the position and size 
8) return Layout/widget/Class(according to requirement)
9) Run an instance of the class
 

Tutorial de Kivy: aprenda Kivy con ejemplos.

archivo main.py implementación del enfoque – 

Python3

## Sample Python application demonstrating the
## How to set button size and position in Kivy using .kv file
 
###################################################
# 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
   
# module consist the floatlayout
# to work with FloatLayout first
# you have to import it
from kivy.uix.floatlayout import FloatLayout
 
# creating the root widget used in .kv file 
class FloatLayout(FloatLayout):
    pass
   
# creating the App class in which name
#.kv file is to be named Float_Layout.kv
class BtnApp(App):
    # defining build()
    def build(self):
        # returning the instance of root class
        return FloatLayout()
   
# run the app
if __name__ == "__main__":
    BtnApp().run()

archivo btn.kv implementación del enfoque – 
 

Python3

#.kv file implementation of setting position and size of btn  
<FloatLayout>:
       
    Button:
        text: "pos_hint "
        background_color: 0.1, 0.5, 0.6, 1
 
        # Giving size hint i.e size of button is
        # 30 % by height and width of layout .
        size_hint: 0.3, 0.3
         
        # positioned at 0 % right and 100 % up / top
        # from bottom left, i.e x, top = 0, 100 from bottom left:
        pos_hint: {"x":0, "top":1}
   
           
    Button:
        text:"pos"
        background_color: 0.4, 0.5, 0.6, 1
        size_hint: 0.3, 0.3
        pos: 100, 100
   
    Button:
        text:"size_hint"
        background_color: 0, 0, 1, 1
 
        # Giving size hint i.e size of button is
        # 40 % by height and  50 % width of layout .
        size_hint: 0.5, 0.4
        pos_hint: {"x":.4, "top":1}
 
                    

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 *