[copyright] [UP] [Common Lisp Personal Tips] This page is written in JAPANESE.

LTkのサンプル集

"The easy way to do Lisp GUI programming"

更新:2010年10月28日:LTk でのフォント設定について追加

LTkはCommon Lispから簡単にGUIプログラミングを行うためのものです。 内部的にはTcl/Tkが呼び出されるのですが、 「Tcl/Tkの知識は不要」 というのが謳文句です。 またAnsi Common LispとTcl/Tkが動けばいいのでOSを問わず利用でき、インストールはとても簡単です。

このページには、Tcl/Tkの例をLTkに焼きなおしてみたコードなどを、自分の覚え書きの意味で整理して置いてあります(LTkの日本語のドキュメントがまだまだ少ないので意味あるかなというつもり)。 GUIの説明なのに画像がないというとても不親切なページでもあります。

LTkのドキュメントはまだまだ未整備のようです。 これを読んだだけでは、いまひとつ使い方がわからないところが多いと思いました。 mailing listのアーカイブを眺めたりも現状では必要そうな感じです。 (まあ、私のようにヘボでないLisperなら唯一つのソースファイルであるltk.lispを眺めてすぐに分るかもしれない。でもそれにはTcl/Tkの知識が…) なお、このHTML 版のドキュメントPDF版のドキュメントより古いので(2006年10月11日現在)注意が必要です。 あれま。

私の環境:

ドキュメントによれば、Allegro, CMUCL, CLisp, ECL, LispWorks, OpenMCL, SBCLなどがサポートされ、Linux上ではLispworks, CLisp, CMUCL, SBCL; Mac OS X上ではLispworks, SBCL; WindowsではCLisp, Allegro and Lispworksで十分にテストされているそうです。

前置きの最後に:ここに置いたコードには、LTkの推奨的な書き方になってないもの、Common Lisp的にも下手糞なものが多々あると思います。 こう書いた方がいいなどのコメントがあれば嬉しく思います。

もう一つ大切なこと:ここに書いてあるコードは、LTkの能力の一部しか使っていません。 筆者は全体像を(まだ?ずっと?)把握できてません。 たとえば、リモートでのウィンドウの操作をするための拡張などもLTkの配布物に含まれているようですが、使ったこともありません。

  1. LTkのドキュメントからとったサンプル
  2. サンプル集
  3. LTk でのフォント設定 (2010年10月28日追加)

参考になるページ

  1. Tcl/TkのTkのコマンド説明:Tclの知識はいらないが、Tkのことはある程度はいる?

おまけ(私がLTkを触り出した経緯)

私自身はたいしたプログラミングはしないし、めったにGUIを付けることもないのですが、それでも時には簡単なGUIをつけたいこともあります。 でもTcl/Tkはずいぶん昔にお試し程度に触れた程度ですっかり忘れていまい、 lisp/scheme的なプログラミングに慣れたせい(と歳のせい:-)で Tcl/Tk をもう一度さわるのも面倒…と思ってました。 Common Lispとの接続を考えるのもまたまた面倒だし… それがLTkを触ってみたら、わりと馴染めそうだったのでした(Lisp的に書けるようにできてます!)。
小栗栖 修
メールアドレス: ogurisu[AT]staff.kanazawa-u.ac.jp ([AT]を@におきかえてください)

Last modified: 2010年10月28日(木)