kivy_table_widgetのクリティカルな問題を修正
昨日に「kivy_table_widgetをPython3に移植」を書いた。
そのなかでkivy_table_widgetがバグバグしいことには触れておいたが、あまりにもバグバグしいので一旦は使うのをやめListAdapterを使うことにした。
なんてったって標準メソッドのdel_row()を使うだけで問題が出るのは話しにならなかった。
だが一度kivy_table_widgetを使うと、その目的としている機能が充実しており、ListAdapterでは私の要望を満たすにはかなりのカスタマイズが必要になった。
kivy_table_widgetはその名前の通り表を表示するためのウィジェットになる。だがその表に表示するセルウィジェットはButtonだろうがTextInputだろうが許容するため、例えばよくあるIDEのプロパティエディタの様なものにも使える。
私は座標値を表示するテーブルを作りたいのだが、その座標値を手作業で微調整したい時がある。その際にkivy_table_widgetなら座標値をTextInputにしておくだけでそれが実現できる。素晴らしい。
ということで改めて使おうと修正を試みた。
PythonでかんたんiOSアプリプログラミング―Kivyによるマルチタッチアプリケーション制作
- 作者: 桑井博之
- 出版社/メーカー: カットシステム
- 発売日: 2013/06/01
- メディア: 単行本
- この商品を含むブログ (1件) を見る
「Kivy」ではじめるPythonプログラミング―グラフィックライブラリでアニメーションを表現! (I・O BOOKS)
- 作者: 清水美樹
- 出版社/メーカー: 工学社
- 発売日: 2013/11/01
- メディア: 単行本
- この商品を含むブログ (1件) を見る
====
[image:id=365]
そして私が使う限りでは動くように修正したのでコミットしておいた。修正以外にもPEPで警告が出る文やタイプミス、ちょっとした無駄なコードなどを修正した。
修正内容はこちらから確認して欲しい
https://github.com/kmasaya/kivy_table_widget/commit/d891c59b2fac6951a5c33def2486763f12dcea57
ベースがある程度の機能を実装しており、そのクラスとメソッド間との連携で処理漏れがあったのでその修正程度で解決できた。
その他にもいくつかの修正をコミットしているが、他は著作者の追加や微々たる修正になるのでコレだけで対応できたのはやはりベースが素晴らしいからだろう。
KivyはPyGtkよりも非常に多くのライブラリが必要になるが、Kivyはクロスプラットフォームの当たりがPyGtkよりも使いやすそうなので今後はKivyを使うかも知れない。とにかくPyGtkはなんだかインストールが面倒くさい。