【Kivy】Splitter を利用する

  • main.py
from kivy.app import App

class MainApp(App):
    pass

if __name__ == '__main__':
    MainApp().run()
  • main.kv
#:kivy 1.0
BoxLayout:
    Splitter:
        sizable_from: 'right'
        strip_size: '10pt'
        Label:
            text: 'item 1'
    Label:
        text: 'item 2'

youtu.be

【Kivy】Canvas で任意の描画を行う

  • main.py
from kivy.app import App

class MainApp(App):
    pass

if __name__ == '__main__':
    MainApp().run()
  • main.kv
#:kivy 1.0

<ColorBox@Widget>:
    color: [1, 1, 1]
    canvas:
        Color:
            rgb: root.color
        Rectangle:
            size: self.size
            pos: self.pos
            
Widget:
    ColorBox:
        size_hint: None, None
        size: 100, 100
        pos_hint: None, None
        pos: 0, 0
        color: [1, 1, 1]
    ColorBox:
        size_hint: None, None
        size: 100, 100
        pos_hint: None, None
        pos: 50, 50
        color: [1, 0, 0]

youtu.be

【Kivy】Accordion を表示する

  • main.py
from kivy.app import App

class MainApp(App):
    pass

if __name__ == '__main__':
    MainApp().run()
  • main.kv
#:kivy 1.0
Accordion:
    AccordionItem:
        title: 'item 1 title'
        Label:
            text: 'item 1 contents'
    AccordionItem:
        title: 'item 2 title'
        Label:
            text: 'item 2 contents'

youtu.be

【Kivy】RecycleView を表示する

  • main.py
from kivy.app import App

class MainApp(App):
    pass

if __name__ == '__main__':
    MainApp().run()
  • main.kv
#:kivy 1.0

RecycleView:
    data: [{'text': 'Item 1'}, {'text': 'Item 2'}, {'text': 'Item 3'}]
    viewclass: 'Label'
    RecycleBoxLayout:
        default_size: None, dp(56)
        default_size_hint: 1, None
        size_hint_y: None
        height: self.minimum_height
        orientation: 'vertical'

youtu.be