Python×Kivy×PyCharmでGUIアプリを作る:.kvファイルを利用して簡単なGUIアプリの作成

Python×Kivy×PyCharmでGUIアプリを作る:.kvファイルを利用して簡単なGUIアプリの作成

.kvファイルは.pyとは独立してレイアウトを作るファイルで、CSSみたいなものですね。独自の言語のようなのと日本語情報が少ないようなので苦戦するかも知れませんが、片っ端から試してみるしかないかも知れませんね。

html.js.cssでレイアウトを作れる『eel』というELECTRONのミニチュア版みたいなのも気になったのですが、出来ることが少ないという事なのでkivyでやってみようと思いました。

プログラムとレイアウトを分ける

Python導入時の記事にて使ったソースを利用してみます。
(※導入時の記事:https://www.icanfly.tokyo/python/kivy/351/)

以下のソースを.pyと.kvに分けてみます。

<hellokivy.py>

まずは.pyファイルから

<hellokivy2.py>

そして.kvファイル

<test.kv>

これで、hellokivy.pyがhellokivy.pyとtest.kvに分けられました。

.kvファイルが開けない方場合は以下の記事を参考にしてみてください。
(※参考記事:https://www.icanfly.tokyo/python/kivy/482/

Kvファイルのルール

ファイル名のルール

Kvファイルですが『test.kv』を命名しました。これは適当に付けたわけではなくルールに基づいて付けた名前となります。

hellokivy.pyファイルの中に

の1行があります。これはAppクラスを継承したTestAppというサブクラスになりますが、サブクラス名のうちAppの前までのTestの部分を抜き出して小文字にしたtestがKvファイルのファイル名となり『test.kv』となります。

これによってTestApp(App)のクラスはtest.kvを読み込んでくれるようになります。

関数と引数

ファイル内の『Label』が関数で、『text』が引数となります。この形を理解しておけば応用が効きそうです。

これは、kvファイルに分けない場合のhellokivy.py内の

の部分に対応します。

実行結果

Pythonファイル内に直接記載する方法と、ファイルを分ける方法はWEBサイトにおけるHTMLファイルとCSSファイルの関係に似てますね。メンテナンス性という面では分けておくという方が良いかもしれません。これはどちらかに統一というよりは場合によって使い分けると考えておいた方が良さそうですね。