Help us understand the problem. What is going on with this article?

Kivyアプリ実行時に引数を与えるだけで使えるようになる便利なツール群

More than 1 year has passed since last update.

kivy.modules

このパッケージ内には、プログラム実行時に組み込むことができる便利な機能があります。ここではその中で良さ気な物を幾つか選んで紹介したいと思います。全ての機能を知りたいのなら公式をご覧ください。

Inspector

使いたい時はpython ./main.py -m inspectorのようにコマンドに-m inspectorを付けるかソースコードに

from kivy.config import Config
Config.set('modules', 'inspector', '')

と書きます。

アプリが立ち上がってから Ctrl + E を押すと

07_inspector_00.png

が出てくるので 画面上にあるWidgetをどれでもいいのでClick。

07_inspector_01.png

それから下にある <kivy.uix.button.Button...> と書かれたButtonを押すと

07_inspector_02.png

Widget階層やPropertyの値を確認できます。

Keybinding

使いたい時はInspectorと同じ要領で、手順中のinspectorkeybindingに代えてください。

このmoduleは幾つかの機能をKeyboardに割り当てます。

  • F11 ... Windowを回転
  • Shift + F11 ... landscape,portraitの切り替え
  • F12 ... Screenshot撮影(OSの持つScreenshotとは違ってWindowの枠は含まれない)

TouchRing

画面を触っている間(MouseのButtonを押し下げている間)その位置に白い輪っかを表示してくれます。

07_touchring_00.png

このmoduleは上の2つとは違い、任意で追加の引数を与える事ができます。例えば白い輪の代わりに好きな画像を使いたい時は

コマンドならpython ./main.py -m touchring:image=好きな画像.png、ソースコードからなら

from kivy.config import Config
Config.set('modules', 'touchring', 'image=好きな画像.png')

とします。

07_touchring_01.png

さらに透明度と拡大率を指定

python ./main.py -m touchring:image=好きな画像.png,alpha=0.5,scale=2

from kivy.config import Config
Config.set('modules', 'touchring', 'image=好きな画像.png,alpha=0.5,scale=2')

07_touchring_02.png

ShowBorder

使い方は他の物と同様です。これを使う事で例えば以下の実行結果は

from kivy.lang import Builder
from kivy.app import runTouchApp


runTouchApp(Builder.load_string('''
GridLayout:
    padding: 10
    spacing: 10
    cols: 3
    Widget:
    Label:
        text: 'Label'
    Button:
        text: 'Button'
    RelativeLayout:
'''))

07_showborder_00.png

以下のようになります。

07_showborder_01.png

このように元々境界線の無かったWidgetにそれができる為、Widgetの配置が正しく行われているか確かめるのに非常に便利です。

WebDebugger

これの実行にはflaskが必要なのであらかじめ入れておいたら、他のmoduleと同じ要領で有効にします。その後web browserでhttp://localhost:5000/を開くと

webdebugger.png

といった具合に内部の状態を覗けます。

gotta_dive_into_python
programmingに關する文献を讀むのが好きなだけで實際に作った數は少ないエセprogrammer
https://github.com/gottadiveintopython/backup/tree/master/profile
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away