投稿日: Jun 03, 2019 7:5:42 PM
最も使われている(らしい)PythonのGUIツールキット的なものです。
しかもRaspberry Pi Official 7" touch screenではこのKivyを使えば10点タッチセンス出来ます。
これはスクリーンが発売されたときにはすでにアナウンスされていたことなんですが、実のところOfficial 7" touch screenはあんまり人気がない。多分。
解像度が主な理由だと思いますが…よって特化したようなものを作ってもあまりメリットはないなと思ってました。解像度は変更出来るんですが周知されていないんでしょうね。
まあ、しかし。
GUIを作るっていうところだけに注視するとアリかなーと。
あと、自分だけで使うにも10点マルチタッチが使えるとnovation launchpadみたいなことが出来て面白そうだってのもあります。
とりあえずインストールと軽く試すところだけやってみたいと思います。
インストール
aptにpython3-kivyというのがあったのでそれで手っ取り早く済まそうとしたんですがバージョンが古くてちょっとダメでした。しっかりインストールします。
Raspberry Piへのインストール方法を参考にしてKivyを導入します。
Raspbianのバージョンによってインストール方法が異なるので注意。
わたしはRaspbian stretchを使っているのでjessie/stretchの手順に従います。
sudo apt-get updatesudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev \ pkg-config libgl1-mesa-dev libgles2-mesa-dev \ python-setuptools libgstreamer1.0-dev git-core \ gstreamer1.0-plugins-{bad,base,good,ugly} \ gstreamer1.0-{omx,alsa} python-dev libmtdev-dev \ xclip xsel
sudo pip install -U Cython==0.29.9
sudo pip3 install git+https://github.com/kivy/kivy.git@master
Cythonインストールのあたりからかなり時間がかかるのでのんびり待ちます。
インストールが一通りおわったらとりあえず動かしてみたいところですがKivyってかなり独特。
もうすこしいろいろ学ぶ必要がありそうです。
それはともかくこのままだと言われたとおり動かしてもエラーになります。
import os
os.environ["KIVY_GL_BACKEND"] = "gl"
これを必ずPythonスクリプトで呼ばれるようにしておきます。
あと、上記セットアップだけではOfficial 7" touch screenでタッチスクリーンが反応しません。
よく読むと載ってるのですけどネ
~/.kivi/config.ini
[input]の項目を探して以下を追加します。mouse=mouseはもとからはいってました。
mouse = mousemtdev_%(name)s = probesysfs,provider=mtdevhid_%(name)s = probesysfs,provider=hidinput
これでタッチスクリーンが反応するようになります。
次は使い方に迫ってゆきたいですネ。
とりあえずHello worldだけ。
終了するにはESCキーを押します。
import kivy
from kivy.app import App
from kivy.uix.label import Label
import os
os.environ["KIVY_GL_BACKEND"] = "gl"
class MyApp(App):
def build(self):
return Label(text='Hello World!', font_size ='48sp')
if __name__ == '__main__':
MyApp().run()
Pythonスクリプトなのによくわからん(笑
追記
その後猛烈に調べてkvスクリプトとPythonのスクリプトのいい関係つかめる出だしのとこくらいまで行ったのでQiitaにポストしといた。相変わらずな感じだけどQiita。