Kivy は、NUI (Natural User Interface) を持つモバイルアプリやその他のマルチタッチアプリケーションソフトウェアを開発するためのフリーでオープンソースの Python フレームワークです。MIT ライセンスのもとで配布され、Android, iOS, Linux, macOS そして Windows で動作させることができます。
使ったことのなかった Python の GUI ライブラリ(フレームワーク)、Kivy に興味を持ったので [1]、ひととおりウィジェットのサンプルを作ってみようとしています。サンプルを作っていくにあたって、どんなスタイルでコーディングするか、テンプレートみたいなものを固めていこうとあれこれ試し始めました。
今回はトグルボタンのサンプルを紹介します。Python のコードのみと Python と、同じ動作をする UI 部分を分離して Kv 言語で記述したファイルのサンプルを併せて紹介しています。
下記の環境で動作確認をしています。
Fedora Linux 36 | x86_64 | |
python3 | 3.10.5-2.fc36.x86_64 | |
Kivy | 2.1.0 |
ToggleButton (Python)
トグルボタンは、チェックボックスのように動作します。タッチまたはクリックすると、状態が 'normal' と 'down' の間で切り替わります。押されている間だけ 'down' になるボタンとは対照的です。
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [Base ] Start application main loop
[INFO ] [GL ] NPOT texture support is available
トグルボタンA がクリックされて down になりました。
トグルボタンB がクリックされて down になりました。
ToggleButton (Python + Kv)
指定したファイルを読み込むようにしたいので、ここでは Builder.load_file() を使って読み込むようにしています。
ToggleButton グループ化 (Python)
トグルボタンはグループ化してラジオボタンすなわち、グループ内のひとつのボタンだけを 'down' の状態にすることができます。
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [Base ] Start application main loop
[INFO ] [GL ] NPOT texture support is available
トグルボタンA がクリックされて down になりました。
トグルボタンB がクリックされて down になりました。
ToggleButton グループ化 (Python + Kv)
指定したファイルを読み込むようにしたいので、ここでは Builder.load_file() を使って読み込むようにしています。
参考サイト
- bitWalk's: Kivy をちょろっと使ってみた [2022-07-10]
- Kv language — Kivy 2.1.0 documentation
- Widgets — Kivy 2.1.0 documentation
- Toggle button — Kivy 2.1.0 documentation
にほんブログ村
0 件のコメント:
コメントを投稿