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
})
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