zoukankan      html  css  js  c++  java
  • 锚点布局

    from kivy.uix.anchorlayout import AnchorLayout
    from kivy.uix.button import Button
    from kivy.app import App
    from kivy.graphics import Rectangle,Color    # 导入位置 颜色模块
    
    # AnchorLayout中有anchor_x和anchor_y这两个参数
    # anchor_x:默认为center 还可以left center right 左中右
    # anchor_y:默认为center 还可以center top bottom 中上下
    
    
    # 锚点布局又称为九宫格布局
    class AnchorLayoutWidget(AnchorLayout):
        def __init__(self,**kwargs):
            super().__init__(**kwargs)
            # 执行布局的画布方法
            with self.canvas:
                # 设置颜色
                Color(1,1,1,1)
                # 这个画布大小为布局大小
                self.rect=Rectangle(pos=self.pos,size=self.size)
                # TODO 位置绑定为布局位置
                self.bind(pos=self.update_rect,size=self.update_rect)
    
                # 嵌套第一个布局
                anchor_first=AnchorLayout(anchor_x='left',anchor_y='top')
                anchor_first.add_widget(Button(text='bt1',size_hint=[.3,.2]))
                # 嵌套第二个布局
                anchor_second = AnchorLayout(anchor_x='right',anchor_y='bottom')
                anchor_second.add_widget(Button(text='bt2',size_hint=[.3,.2]))
            self.add_widget(anchor_first)
            self.add_widget(anchor_second)
        
        # 这里要传多值参数
        def update_rect(self,*args):
    
            self.rect.pos=self.pos
            self.rect.size=self.size
    
    
    class AnchorLayoutApp(App):
        def build(self):
            return AnchorLayoutWidget()
    
    
    if __name__ == '__main__':
        AnchorLayoutApp().run()
  • 相关阅读:
    EntityFramework+MySql 笔记2
    EntityFramework+MySql 笔记1
    软件详细设计文档(终)
    软件测试文档(终)
    软件测试计划文档(初)
    软件概要设计文档(终)
    软件需求规格说明文档(终)
    例会记录(六)
    例会记录(五)
    例会记录(四)
  • 原文地址:https://www.cnblogs.com/vip136510786/p/14601409.html
Copyright © 2011-2022 走看看