デジタル忍者ブログ

デジタル忍者ブログ

2019/02/03

kivyを使ってみた(1)



kivyとはpythonでGUIアプリケーション、スマートフォンアプリを


作成するためのライブラリの一つです。


モダンなデザインであることから、近年で注目されているようです。


そこで、試しにkivyを使ってGUIアプリケーションを試しました。



kivyのダウンロード、およびインストールについては、


以下のサイトを参照してください。


Kivy: Cross-platform Python Framework for NUI Development




とにかくGUI画面を表示させたいんだ!


kivyが注目を浴びているようであれば、


どんなGUI画面なのか気になるところです。


GUI画面を表示するためのプログラムは非常に簡単です。


lesson1.py

from kivy.app import App

from kivy.uix.widget import Widget

from kivy.uix.label import Label


class MainWindow(Widget):

  def __init__(self, **kwargs):

    super(MainWindow, self).__init__(**kwargs)

    self.add_widget(Label(text = 'Hello World!!'))


class HelloWorldApp(App):

  def build(self):

    return MainWindow()


if __name__ == '__main__':

  HelloWorldApp().run()



これだけで、コマンドプロンプトより、


>python lesson1.py


で、以下の実行結果が得られました。




UIを自由に配置させたい


次にUIの配置はどうやって行うのかに疑問が感じられましたが、


kivyの公式Documentで確認すると、


FloatLayoutを使用することで、自由に配置できるようなので、


プログラムを修正。


ついでに、日本語の表示に変更。


lesson2.py

from kivy.app import App

from kivy.uix.floatlayout import FloatLayout

from kivy.uix.label import Label


class MainWindow(FloatLayout):

  def __init__(self, **kwargs):

    super(MainWindow, self).__init__(**kwargs)

    self.size = (300, 300)

    label = Label(text = 'ようこそ!', pos = (20, 20))

    self.add_widget(label)


class HelloWorldApp(App):

  def build(self):

    return MainWindow()


if __name__ == '__main__':

  HelloWorldApp().run()



これの実行結果は以下の通りでした。




ここで、kivyの問題点として日本語が文字化けになってしまうことです。


日本語を表示させる方法については分かり次第、


次回の記事に上げる予定です。


Comment Form

コメント内容(必須)

Comment

2024年9月24日16:16  Untoxymot@mailport.lat

管理者がコメントの内容を確認中・・・

2023年10月18日13:28  layella@cmaill.xyz

管理者がコメントの内容を確認中・・・