Python

Python kivyの使い方①|導入

Python

はじめに

PythonでGUIを実装したい方向けのページです。
PythonでGUIを実装するのには、「Kivy」というライブラリがオススメです。

そこで、Kivyの初歩的な使い方をまとめていきます。

Kivyの導入でエラーが出た方はこちらを参照ください。

GUIを立ち上げよう

以下のコードでGUIが開きます。

from kivy.app import App

class TestApp(App):
    pass

if __name__ == '__main__':
    TestApp().run()

実行結果

まだ、真っ黒ですね。ここに色々追加する方法を学んでいきましょう。

KivyのGUI

文字を入れてみよう

文字を入れるには、kvファイルを作るやり方が便利です。kvファイル???ってなりますよね。
kvファイルは、テキストエディターで以下で入力してください。そして保存する時に「test.kv」と名前をつければOKです。

Label:  # add comment
    text: "Hello Tsukimitech"

以下のコードでGUIが開きます。

from kivy.app import App

class TestApp(App):
    pass
    
if __name__ == '__main__':
    TestApp().run()

実行結果

真ん中に「Hello Tsukimitech」の文字が出てきました。

Kivy

passというのは、「親クラスそのままを」という意味です。親クラスは、TestAppになります。そのため子クラス名がTestAppとなります。

kvファイルは、子クラスの名のうちAppより前と同じ先頭が小文字のファイル名が対応します。ここでは子クラスがTestAppなので、test.kvが対応します。

複数のtextを並べよう

kvファイルを以下のように記述します。
配列方法には以下のものがあります。

  • BoxLayout
  • FloatLayout
  • RelativeLayout
  • GridLayout
  • PageLayout
  • ScatterLayout
  • StackLayout
BoxLayout:
    orientation: 'vertical' 

    Label:
        text: "わーい"
    Label:
        text: "Hello Tsukimitech"
    Label:
        text: "やったー"

以下のように配列が可能です。

  • horizontal:横一列
  • vertical:縦一列

実行結果

あれれ、文字化け。

Kivy

修正します。日本語のフォントをダウンロードします。
ダウンロード先のディレクトリとファイル名を指定します。

from kivy.lang import Builder
from kivy.app import App
from kivy.core.text import LabelBase, DEFAULT_FONT
from kivy.resources import resource_add_path

resource_add_path("ダウンロード先のディレクトリをコピー")
LabelBase.register(DEFAULT_FONT, "フォントのファイル名をコピー")

class TestApp(App):
    pass

if __name__ == '__main__':
    TestApp().run()

再実行結果

日本語が表示できました。

Kivyで日本語表示

まとめ

Python kivyの使い方をまとめました。次回以降は、ボタンの配置を解析していきます。

コメント

タイトルとURLをコピーしました