Kivy公式サイトのKivy Crash Course 4 – Kivy languageを作ってみた!

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について

Pythonでマルチタッチアプリを作るために、こちらの本で学んでいます。

Kivyの公式サイトは英語ばかりで泣きそうでしたが、この本を読んで行ったら公式サイトのサンプルアプリも作れるようになりました。

上の本の、4章を終えた所までで類題として作れるアプリです。

Video(YouTube)

この動画では、前回Pythonで作ったプログラムを、PythonとKV言語(ファイル拡張子が.kv)で、作ってよりPythonのコードがシンプルになることを学べる内容になっています。

Kivy Crash Course 3 – More interesting widget interactions
で作ったコードを改変して、好きな文字を入力して動かせるようにしたアプリです。

前回のコードが書いてあるファイルを開いて、これを今回用に改変していきます。

エディタ Visual Studio Codeに書いていってターミナルで実行します。

前回の「crash3」というフォルダの内容「main.py」を、今回の「crash4」というフォルダに保存して確認しました。

そのコードです。

from kivy.app import App

from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout

class TutorialApp(App):
    def build(self):
        b=BoxLayout(orientation=’vertical’)
        t=TextInput(font_size=150,
        size_hint_y=None,
        height=200,
        text=’default’)
        f=FloatLayout()
        s=Scatter()
        l=Label(text=’default’,font_size=150)
        t.bind(text=l.setter(‘text’))
        f.add_widget(s)
        s.add_widget(l)
        b.add_widget(t)
        b.add_widget(f)
        return b


def some_function(*args):
print(‘text changed’)

if name == “main”:
TutorialApp().run()

無事動かせました。

では、動画(全部英語で泣きそう)をみながら食らいついてコードを書きました。

Crash4フォルダの中にはmain.pyの他に「tutorial.kv」と言うファイルを作ります。

main.pyのAppのところが、何々Appだった場合、「何々.kv」と言うファイル名になります。

まずは、「main.py」

from kivy.app import App

from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout

class ScatterTextWidget(BoxLayout):
    pass

class TutorialApp(App):
    def build(self):

return ScatterTextWidget()

def some_function(*args):
    print(‘text changed’)

if name == “main”:
TutorialApp().run()

とてもコードがシンプルになりましたね。

次に、「tutorial.kv」です。

<ScatterTextWidget>:
    orientation:’vertical’
    TextInput:
        id:my_textinput
        font_size:150
        size_hint_y:None
        height:200
        text:’dafault’
    FloatLayout:
        Scatter:
            Label:
                text:my_textinput.text
                font_size:150

では、動作を見てみます。

好きな文字を動かしてみます。

「I love cat!!」

<2>

動かせました。

次に、同じフォルダに日本語フォントを入れてカスタマイズします。

私は志村けんさんが好きなので、最後に「default」を「なんだチミは」と表示されるようにカスタマイズします。

同じフォルダ「crash4」の中に日本語フォントを置いてみます。

Googleフォントから好きな日本語フォントを持ってきて、フォントファイルの名前をわかりやすく変えて実行してみます。

やり方はNRさんという方の動画が分かりやすいです。

このようになりました。

Kvファイルを動かしても、ちゃんと日本語フォントが出たことにホッとしました。

Kivyというライブラリを使ってPythonでアプリを作って行く

Python自作サンプル集
Swiftでアプリ開発される方向け
これからプログラミングを始める方へ
プログラミングと資格について