kivyのkvファイルの読み込み方法その2
前回、Appを継承したクラスとkvファイル名を合わせると話したのですが、違うファイル名を読み込みたい場合どうするかを今回書きたいと思います。
実装はめっちゃ簡単です。
実装
今回は2つのファイルを準備します。
main.pyとmy2.pyというファイルを作成します。
kvファイル
kvファイルは下記の通り。
<MyRootWidget>:
BoxLayout:
Button:
text: 'button1'
Button:
text: 'button2'
実行ファイル
''' kv sample3 '''
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.widget import Widget
Builder.load_file('./my2.kv')
class MyRootWidget(Widget):
"""
MyRootWidget here
:param Widget:
"""
pass
class MyApp(App):
"""
MyApp here
:param App:
"""
def build(self):
"""
build here
:param self:
"""
return MyRootWidget()
if __name__ == '__main__':
MyApp().run()
指定したいkvファイルを読み込むのは、ほんと簡単。
Builder.load_fileメソッドにファイルパスを指定してあげるだけです。
同じディレクトリに置いてどちらが読み込むかは、ちょっと確認してないのです。
実行
実行してみます。
まとめ
読み込み方法は簡単です。
Builder.load.fileで読み込みするだけです。
ただボタンのラベルがはみ出すのは、なんでだろう?って思います。
サイズの指定していないけど、逆にしていないからBoxLayoutのサイズがおかしいのかなと思います。
-
Python kivy 文字列によるkv language設定
前回はkvファイルを指定して読み込みしたが、今回はPythonのコードの中でkvファイルのデータを書いて読み込んでみる。 これも前回と同じようにすごく簡単。 今回準備するものとして、kvファイルは不要になります。 ソースコード '& ...続きを見る
今後の人生を豊かにする為にキャリアアップのステップとして、自分への投資をしてみませんか?