Blog
En este tutorial básico de Kivy, vamos a hablar sobre otro tipo de diseño: el Float Layout.
from kivy.app import App
#kivy.require("1.8.0")
from kivy.uix.floatlayout import FloatLayout
class SimpleKivy4(App):
def build(self):
return FloatLayout()
if __name__ == "__main__":
SimpleKivy4().run()
Este código debería ser muy familiar.
Los únicos cambios importantes aquí son que estamos importando FloatLayout, y estamos haciendo que SimpleKivy4 (nuestra clase principal aquí) devuelva FloatLayout.
Ahora para nuestro archivo SimpleKivy4.kv:
<Button>:
font_size: 40
color: 0,1,0,1
size_hint: 0.3, 0.2
<FloatLayout>:
Button:
text: "Kivy"
pos_hint: {"x": 0, 'y':0}
Button:
text: "Tutorials"
pos_hint: {"right": 0.5, 'top':1}
Ahora, vemos algunos términos nuevos dentro de nuestro archivo .kv.
Primero, vemos esta variable size_hint. Size_hint da una pista sobre el tamaño de un elemento, en función de las partes del “total” disponible. 0.3, 0.2 significa que el elemento será 30% de la ventana ancha, y 20% de la ventana alta.
A continuación, detectamos pos_hint. Pos_hint da una pista sobre la posición, que se mide relativamente entre 0 y 1, donde 1 es “completamente” algo y 0 es “no” algo.
Pos_hint me confundió por un tiempo, y todavía tengo que pensar un poco sobre lo que realmente significa … pero simplemente agrego “ness” al término que estoy modificando. Entonces, si decimos que pos_hint es {“right”: 0.5 y “top”: 1}, entonces estamos diciendo que tiene “half-right-ness” y full “top-ness”.
Al usar estos términos, con diseño flotante, ahora puede tener una ventana con widgets, botones, etiquetas y cualquier otra cosa que cambie de tamaño, independientemente del tamaño de la ventana o de la orientación de la ventana ( retrato vs paisaje).
Ahora, nuestra aplicación puede hacer:

O…

Como puedes ver, podemos ajustar la posición del píxel, así como el tamaño, de forma relativamente relativa según el tamaño y la forma de la ventana real.