Kivy は、NUI (Natural User Interface) を持つモバイルアプリやその他のマルチタッチアプリケーションソフトウェアを開発するためのフリーでオープンソースの Python フレームワークです。MIT ライセンスのもとで配布され、Android, iOS, Linux, macOS そして Windows で動作させることができます。
Wikipedia より引用、翻訳、編集
使ったことのなかった 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 |
CheckBox (Python)
チェックボックスは、checked と unchecked の2つの状態を持つ特定のボタンです。
kivy_checkbox.py
kivy_checkbox.py の実行例
kivy_checkbox.py の出力例
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [Base ] Start application main loop
チェックボックス <kivy.uix.checkbox.CheckBox object at 0x7fdf3e3db370> は 1 です。
チェックボックス <kivy.uix.checkbox.CheckBox object at 0x7fdf3c6f1000> は 1 です。
CheckBox (Python + Kv)
指定したファイルを読み込むようにしたいので、ここでは Builder.load_file() を使って読み込むようにしています。
kivy_checkbox_1.py
kivy_checkbox_1.kv
kivy_checkbox_1.py の実行例
CheckBox グループ化 (Python)
チェックボックスをグループ化するとラジオボタンになります。ラジオボタンでは一度にひとつしか選択できません。
kivy_checkbox_group.py
kivy_checkbox_group.py の実行例
kivy_checkbox_group.py の出力例
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [Base ] Start application main loop
チェックボックス <kivy.uix.checkbox.CheckBox object at 0x7fe223de71b0> は 1 です。
チェックボックス <kivy.uix.checkbox.CheckBox object at 0x7fe223de71b0> は 0 です。
チェックボックス <kivy.uix.checkbox.CheckBox object at 0x7fe22311ce40> は 1 です。
CheckBox グループ化 (Python + Kv)
指定したファイルを読み込むようにしたいので、ここでは Builder.load_file() を使って読み込むようにしています。
kivy_checkbox_group_1.py
kivy_checkbox_group_1.kv
kivy_checkbox_group_1.py の実行例
参考サイト
- bitWalk's: Kivy をちょろっと使ってみた [2022-07-10]
- Kv language — Kivy 2.1.0 documentation
- Widgets — Kivy 2.1.0 documentation
- CheckBox — Kivy 2.1.0 documentation
にほんブログ村
0 件のコメント:
コメントを投稿