はじめに
Kivyを使っていて、py(Pythonソース)だけで実行すると、基本的に、4:3の無骨なスクリーンにパーツが適当に配置されてしまいます。
これだと、何とも使いにくいので、サイズを調整したり、UIに色を付けたり、ボタンに画像を付けたり、背景に枠を付けたりと、GUIアプリらしい外見にしていきたいです。
そこで登場するのが、kvファイルです。こちらは、レイアウトや変数を定義する外部ファイルです。
まず、pyでアプリのひな形を作ろう
このあたりはさくっと行きます。
sample.py
#-*- coding: utf-8 -*-
# 例によって、単純なものから作るので
# Labelを読み込みます
from kivy.app import App
from kivy.uix.label import Label
from kivy.lang import Builder
Builder.load_file('kgui.kv')
class KivyGui(App):
def build(self):
return self
if __name__ == "__main__":
KivyGui().run()
次にkvファイルを作ろう
で、kvファイルを作るにあたって、ファイル名とかどうやってpyから指定するの?
という方もいると思います、↑のソースを見ていただくとなにやらBuilderというライブラリが読み込まれていると思います。
これが、kvファイルを読み込むためのライブラリです、暗黙の了解として、ソース名.py、ソース名.kv、クラス名.kvが読み込まれるように
なっていますが、明示的に読んだほうがもやもやしないという方は、上のように指定しましょう。
kgui.kv
<KivyGui>:
Label:
# ソース側で読み込んだライブラリ名を指定します、ここではLabelを指定しましたので
# Labelについての修飾を書くということになります
text: "Hello World" ## Hello Worldを
font_size: 70 ## 70pxにして
color: 1,0,1,1 ## 色の指定をします[R(赤色),G(黄色),B(青色),A(透明度)]の指定です。
## すごいわかりにくいですが、(0.00~1.00)で指定し、1.00が最大なので、灰色とかは :0.25,0.25,0.25,1といった具合です
## Markup型の表記もできるので、慣れないかもという人markup型をお勧めします
# markup: True
# text: '[size=70][color=FF00FF]Hello World[/color][/size]'
ちょっとMarkUP記法について触れたので、軽く説明を。
[b][/b] : 太字
[i][/i] : イタリック
[u][/u] : 下線
[s][/s] : 取り消し線
[font=<str>][/font] : フォント名/フォントファイル
[size=<integer>][/size] : フォントサイズ [6 - ]
[color=#<color>][/color] : フォントカラー16進 [#000000 - #FFFFFF]
[ref=<str>][/ref] : 参照リンク
[anchor=<str>] : 参照先のアンカー
[sub][/sub] : 下付き
[sup][/sup] : 上付き
次は本格的な(?)アプリを作っていきたいと思います