zoukankan      html  css  js  c++  java
  • kivy浮点布局

    from kivy.app import App
    from kivy.uix.floatlayout import FloatLayout
    
    
    class FloatLayoutWidget(FloatLayout):
        def __init__(self,**kwargs):
            super().__init__(**kwargs)
    
    
    class FloatLayoutApp(App):
        def build(self):
            return FloatLayoutWidget()   # 这里是返回一个类
    
    
    if __name__ == '__main__':
        FloatLayoutApp().run()

    =============kv文件===============

    <Button>:
    font_size:40 # 字体大小 # 全局按扭
    size_hint:0.3,0.6 # 搂扭大小

    <FloatLayoutWidget>:
    canvas:
    Color:
    rgba:[1,1,1,1]
    Rectangle:
    size:self.size
    pos:self.pos
    Button:
    text:"hi china"
    background_color:0.1,0.5,0.6,1 # 按扭背景颜色
    pos_hint:{"x":0,"top":1} # 按扭位置
    Button:
    text:"hi man"
    background_color:1,0,0,1
    pos_hint:{"x":0.35,"y":0.3}
    Button:
    text:"hi woman"
    background_color:0.4,0.5,0.6,1
    pos_hint:{"x":.7,"top":1}
    Button:
    text:"over"
    background_color:0.8,0.9,0.2,1
    pos_hint:{"x":0,"bottom":1} # 底部

    ========================

    下面是纯python

    ===================

    from kivy.app import App
    from kivy.uix.button import Button
    from kivy.uix.floatlayout import FloatLayout
    from kivy.graphics import Rectangle,Color
    
    
    class FloatLayoutApp(App):
        def build(self):
            def update_rect(layout,*args):
                # 设置背景尺寸
                layout.rect.pos = layout.pos
                layout.rect.size = layout.size
            float_layout = FloatLayout()
    
            # 设置背景颜色
            with float_layout.canvas:
                Color(1,1,1,1)
                float_layout.rect = Rectangle(pos = float_layout.pos,size = float_layout.size)
                float_layout.bind(pos = update_rect,size=update_rect)
    
            # 在布局内的[300,200]处添加一个尺寸为0.3,0.2的按扭
            button = Button(text='hello FloatLayout',size_hint=(.5,.1),pos = (200,0))
            # 将按钮添加到布局内
            float_layout.add_widget(button)
            return float_layout
    
    
    if __name__ == '__main__':
        FloatLayoutApp().run()
  • 相关阅读:
    【luogu4719】动态DP模板 [动态DP]
    【2019.9.22】
    [JSOI2010]连通数[tarjan缩点]
    【2019.9.16】Za
    【2019.9.18】Za
    [USACO14OPEN]GPS的决斗Dueling GPS's [最短路]
    【CF891C】Envy [最小生成树]
    【2019.9.17】Za
    【2019.9.17】
    【luogu3403】跳楼机 [同余最短路]
  • 原文地址:https://www.cnblogs.com/vip136510786/p/14596846.html
Copyright © 2011-2022 走看看