2022-07-17

チェックボックス (CheckBox) 〜 Kivy

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 の実行例

参考サイト

  1. bitWalk's: Kivy をちょろっと使ってみた [2022-07-10]
  2. Kv language — Kivy 2.1.0 documentation
  3. Widgets — Kivy 2.1.0 documentation
  4. CheckBox — Kivy 2.1.0 documentation

 

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村
このエントリーをはてなブックマークに追加

0 件のコメント: