PythonとKivyを使って簡単なアプリを作成する方法を学びましょう!
Kivyは、Pythonを使用してAndroidアプリを開発するためのオープンソースのライブラリです。これらを使用することで、簡単なAndroidアプリを作成できます。このチュートリアルでは、PythonとKivyを使用してアプリを作成する方法を学びます。Pythonを使用して簡単なAndroidアプリを作成するために必要なツールや技術を学ぶことができます。また、Kivyを使用してAndroidアプリを開発するための手順も学びます。今回の内容はまず、PCでアプリとして動作するところまでを行います。
Pythonでアプリを開発してみたいけどさっぱりわからない。
PythonとKivyのライブラリを使うと簡単にアプリ開発ができるからおすすめだよ。
まずはpythonでkivyを使用してアプリをちゃっと作成する方法について教えてください。
今回はkivyを使ってアプリを作るところまでやってみよう。簡単にアプリを作ることができます。GUIアプリができると実際に仕事で使うこともできるから便利だよ。
【記事の対象者】
・GUIアプリを作ってみたい
・Pythonとkivy を勉強してみたい
・初心者だけど、アプリを実際に作れるか試してみたい
1. Pythonとkivyとは
Pythonの紹介
Pythonは、プログラミング初心者でも簡単に使える、人気の高いプログラミング言語です。プログラミングを始めるならPythonが最適です。Pythonは、高度なアルゴリズムを実装したり、Webサイトを作成したり、データを分析したりするのに最適なツールです。Pythonでは、様々なアプリケーションを作成し、自分のアイデアを実現していくことができます。Pythonであれば、プログラミングの初心者でも楽しく学ぶことができます!
kivyの紹介
Kivyは、Pythonを使ってクロスプラットフォームのモバイルアプリやデスクトップアプリを作成するためのオープンソースライブラリです。Kivyを使えば、iOSやAndroidなどのモバイルプラットフォームやWindows、Mac、Linuxなどのデスクトッププラットフォームで、同じコードを使ってアプリを開発できます。Kivyを使えば、初心者でも簡単にモバイルアプリやデスクトップアプリを開発することができます。
アプリ開発の環境を構築する
検証環境
- kivy 2.1.0
- Python 3.9.15
- pip 22.2.1
- Microsoft Windows 11 Home
Kivyのインストール
Kivyをインストールするには、まずPythonをインストールします。Pythonを使用可能な状態に準備します。次に、Kivyをインストールするために、pipを使用します。コマンドプロンプトを開き、「pip install kivy」と入力して実行してください。
pip install kivy
インストールが完了したら、test.pyを作成し、下記コードを入力し、ターミナルからtest.pyを実行してください。黒い画面にHelloと表示されれば完了です。
from kivy.app import App
from kivy.uix.label import Label
class TextApp(App):
def build(self):
return Label(text='Hello')
if __name__ == '__main__':
TextApp().run()
これで初期設定は完了になります。これで、簡単に画面に文字を表示するアプリを作成することができました。
Kivyを使ってアプリを作成する
今回は実際に画像を表示するアプリを作っていきます。
プロジェクトの構成
Kivyを使ってアプリを作成するプロジェクトの構成は、PythonコードとKivy GUIを組み合わせることで実現します。Pythonコードでは、アプリのロジックを実装し、Kivy GUIでは、ウィジェットを使用して、インターフェースを作成します。また、Kivyの.KVファイルを使用して、GUIのレイアウトを定義します。最後に、Kivyのアプリケーションクラスを使って、アプリを実行するためのスタートアップコードを書きます。今回のファイルの構成は 下図のようなディレクトリで構成されています。
imgフォルダの中に複数の画像を格納しています。ファイルとしては、image.pyファイルとimage.kvファイルで構成されています。
プロジェクトの作成
Kivyをインストールしたら、上記のようにプロジェクトを作成するためのディレクトリ(今回は221205-kivy_program)を作成し、その中にimage.kvとimage.pyファイルを作成しコードを記述していきます。
- image_display.pyの形式でコードを作成
- image.kivyの形式でレイアウトを作成(下記コードを作成
- ターミナルから、image_display.pyを実行(仮想環境を設定している場合は、activatesする)
# 画面の縦・横のサイズを指定
from kivy.config import Config
Config.set('graphics','width','640')
Config.set('graphics','height','480')
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.properties import StringProperty
from random import randint
class ImageWidget(Widget):#Image Widgetというアプリ
source = StringProperty('./img/1.jpg')
def __init__(self, **kwargs):
super(ImageWidget, self).__init__(**kwargs)
pass
def btn_first(self):
self.source='./img/1.jpg'
def btn_rand(self):
self.source = './img/'+f'{randint(1,5)}.jpg'
class ImageApp(App):#ImageAppのImage とkvファイルの名称を合わせる必要がある。今回はimage.kv
def __init__(self, **kwargs):
super(ImageApp,self).__init__(**kwargs)
self.title = '画像表示'
pass
if __name__ == '__main__':
ImageApp().run()
ImageWidget:#下で定義した内容を呼び出している
<ImageWidget>
canvas.before:
Color:
rgba: 0.9, 0.9, 0.7, 1
Rectangle:
pos: self.pos
size: self.size
BoxLayout:
orientation: 'vertical'
size: root.size
Image:
source: root.source
BoxLayout:
size_hint_y:0.3
padding: 20, 30, 20,10
Button:
id: button1
text: "First Image"
font_size: 30
on_press: root.btn_first()
Button:
id: button2
text: "Random"
font_size: 30
on_press: root.btn_rand()
実際に起動するとこのようなGUI画面が出て、Randomのボタンを押すとimgフォルダに保存していた1~5.jpgという画像ファイルが表示されるようなソフトを作ることができました。
画像はStable diffusionで作った風景になります。AIってすごいですね。。。なんでも作れるようになってきています。
画像が変化する様子が確認できます。これらに今後openCVの内容などを取り組んで、実際にandroidのアプリ作成を次の記事でやっていきたいとおもいます。
まとめ
Pythonとkivyを使用することで、簡単なアプリ開発を行うことが可能になりました。Pythonとkivyのコーディングスキルを活用して、Androidアプリを開発し、実際に今後適用していきましょう!