はじめに
PythonでGUIを実装したい方向けのページです。
PythonでGUIを実装するのには、「Kivy」というライブラリがオススメです。
そこで、Kivyの初歩的な使い方をまとめていきます。
Kivyの導入でエラーが出た方はこちらを参照ください。
GUIを立ち上げよう
以下のコードでGUIが開きます。
from kivy.app import App
class TestApp(App):
pass
if __name__ == '__main__':
TestApp().run()
実行結果
まだ、真っ黒ですね。ここに色々追加する方法を学んでいきましょう。
文字を入れてみよう
文字を入れるには、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」の文字が出てきました。
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:縦一列
実行結果
あれれ、文字化け。
修正します。日本語のフォントをダウンロードします。
ダウンロード先のディレクトリとファイル名を指定します。
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()
再実行結果
日本語が表示できました。
まとめ
Python kivyの使い方をまとめました。次回以降は、ボタンの配置を解析していきます。
コメント