Kvファイルのロード

2015/09/19

Kivy 1.9.1

kvファイル名を、Appクラス名を小文字にしたファイル名にしてやると、実行スクリプトの下層を探して自動でロードしてくれる。ただし、語尾にAppが付いてる場合はそれを除く。

例えば
TestApp => test.kv
TestWindow => testwindow.kv

Programming Guide » Kv language
http://kivy.org/docs/guide/lang.html


パスを指定してロードする方法はこんな。

from kivy.lang import Builder
from kivy.uix.button import Button

Builder.load_file('yourwidget.kv')


別ファイルにしたくないなら、こんな感じ。

# -*- coding: utf-8 -*-

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder

Builder.load_string("""
<MyApp>:
    Button:
        text: "Hello World"
        size: 250, 100
        size_hint: None,None
""")

class MyApp(App, BoxLayout):
    def build(self):
        return self

if __name__ == "__main__":
    MyApp().run()

テストとか、サンプルとかに便利。