KIVY学习笔记——安卓开发上篇完结

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=(.3, .2), pos=(300, 200))
        # 将按钮添加到布局内
        float_layout.add_widget(button)
        # 返回布局
        return float_layout
if __name__ == "__main__":
    FloatLayoutApp().run()

#上面是纯python无Kv文件

#main.py
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()

#floatlayout.kv
<Button>:
    font_size: 40
    size_hint: 0.3, 0.3

<FloatLayoutWidget>:
    canvas:
		Color:
			rgba: [1, 1, 1, 1]
		Rectangle:
			size: self.size
			pos: self.pos
    Button:
        text: "Bt0"
        background_color: 0.1, 0.5, 0.6, 1
        pos_hint: {"x":0, "top":1}
    Button:
        text:"Bt1"
        background_color: 1, 0, 0, 1
        pos_hint: {"x":0.35, "y":0.3}
    Button:
        text:"Bt2"
        background_color: 0.4, 0.5, 0.6, 1
        pos_hint: {"x":.7, "bottom":0}
    Button:
        text:"Bt3"
        background_color: 0, 0, 1, 1
        pos_hint: {"x":.7, "top":1}
    Button:
        text:"Bt4"
        background_color: 0.8, 0.9, 0.2, 1
        pos_hint: {"x":0, "bottom":1}

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.graphics import Rectangle, Color
class BoxLayoutWidget(BoxLayout):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        # 设置背景颜色(可忽略)
        with self.canvas:
            Color(1, 1, 1, 1)
            self.rect = Rectangle(pos=self.pos, size=self.size)
            self.bind(pos=self.update_rect, size=self.update_rect)
        # 添加两个按钮
        self.add_widget(Button(text='Hello'))
        self.add_widget(Button(text='BoxLayout'))
    def update_rect(self, *args):
        """设置背景尺寸,可忽略"""
        self.rect.pos = self.pos
        self.rect.size = self.size
class BoxApp(App):
    def build(self):
        return BoxLayoutWidget()
if __name__ == "__main__":
    BoxApp().run()

#上面是纯Python无kv文件

#main.py
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
class BoxLayoutWidget(BoxLayout):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
class BoxApp(App):
    def build(self):
        return BoxLayoutWidget()
if __name__ == "__main__":
    BoxApp().run()

#box.kv
<BoxLayoutWidget>:
    orientation: 'vertical'
    padding:[10, 40, 40, 30]
    canvas:
		Color:
			rgba: [1, 1, 1, 1]
		Rectangle:
			size: self.size
			pos: self.pos
    Button:
        text: 'Hello'
        background_color: .6, .2, .2, 1
    Button:
        text: 'BoxLayout'
        background_color: .2, .6 , .3, 1
    BoxLayout:
        o
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值