ゴミ箱の中のメモ帳

まだ見ぬ息子たちへ綴る手記

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によるマルチタッチアプリケーション制作

PythonでかんたんiOSアプリプログラミング―Kivyによるマルチタッチアプリケーション制作

 

====

[image:id=365]

 

そして私が使う限りでは動くように修正したのでコミットしておいた。修正以外にもPEPで警告が出る文やタイプミス、ちょっとした無駄なコードなどを修正した。

 修正内容はこちらから確認して欲しい

 

https://github.com/kmasaya/kivy_table_widget/commit/d891c59b2fac6951a5c33def2486763f12dcea57


ベースがある程度の機能を実装しており、そのクラスとメソッド間との連携で処理漏れがあったのでその修正程度で解決できた。

 その他にもいくつかの修正をコミットしているが、他は著作者の追加や微々たる修正になるのでコレだけで対応できたのはやはりベースが素晴らしいからだろう。

 KivyはPyGtkよりも非常に多くのライブラリが必要になるが、Kivyはクロスプラットフォームの当たりがPyGtkよりも使いやすそうなので今後はKivyを使うかも知れない。とにかくPyGtkはなんだかインストールが面倒くさい。