ゴミ箱の中のメモ帳

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

kivy_table_widgetをPython3に移植

わけあってKivyを使い始めたのだけど、公式のテーブル(表)ウィジェットが見つからない。

誰か作っている人が居るだろうとGitHubを探すとやはり先駆者は居るもんだ。その名もズバリ「kivy_table_widget」。

だがシェバンを見てからもわかる通りPython2が前提となっている。printも関数では無く文で書かれていたりとPython3で使う気は無いのだろう。Python2.7ならprint関数も導入されているのになぜそうしないのか。

まぁ、製作者も私のように自分用に作ったのであろうから文句を言える身分ではない。

ということで簡単にPython3に対応させてみた。

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

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

 

 ====
基本的には2to3で一括変換し、フォーマットを直した位になる。

とりあえずはそれでサンプルは動くようになったのだが、これがなかなか問題が多いモジュールでなかなかバグバグしい。

私が表を表示させるためだけに使おうと思ったのだが、それでもいくつかのバグにぶつかった。自分に必要な最低限のものだけ治そうと思うが、これがなかなが込み入ったややこしいコードで修正がしづらい。

そしてなによりKivyを使い始めて2時間位なので、そもそもKivyのルールや使い方すらわかっていない。デザイニング言語があるようだが、それがわからないのでPyGtkよろしくコードでGUIを生成している。

PyGtkもGladeなんかでデザイニングができるが、Gladeの使い方を覚える時間でデザインができると今まで使ってこなかったことに今は感謝している。

 

ということで、「kivy_table_widget」をForkした。これからも使いそうならちょこちょこバグを直すかも知れないが、なにしろKivyを今後も使うかわからないのでコレっきりに成るかも知れない。

しばらくしたら本家の方にもバグ報告をするかも知れない。Forkしたことで気がついてもらえたら助かるが。

私がForkしたのはこちらから。

https://github.com/kmasaya/kivy_table_widget