Chapter 28 The LablTk library: Tcl/Tk GUI インタフェース

このページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

last mod. 2008-09-25 (木) 16:55:41

The Objective Caml system release 3.10

labltk ライブラリは Objective Caml のプログラムから Tcl/Tk にアクセスする方法を提供します。このインタフェースは自動的に生成されます。関数の動作の詳細は、Tcl/Tk の本や man ページを参照してください。様々な関数の型を調べるためには ocamlbrowser を使うことをおすすめします。関数はライブラリ自身の最もよいドキュメントです。

labltk ライブラリを使用するプログラムは以下のようにリンクしてください。

        ocamlc other options -I +labltk labltk.cma other files
        ocamlopt other options -I +labltk labltk.cmxa other files

Unix: labltk ライブラリは Tcl 7.5/Tk4.1 から Tcl/Tk 8.4 までの Tcl/Tk がインストールされたすべてのシステムで使用することができます。ベータ版には互換性に問題があるものもありますので注意してください。

もしライブラリが正しくコンパイルされなかったら、configure スクリプトを -tkdefs switches をつけてもう一度実行してください。swiches は、tcl.h と tk.h への C 言語と同じスタイルのインクルードパスのリストです。例えば '-I/usr/local/include/tcl8.4 -I/usr/local/include/tk8.4' などです。

labltk ライブラリをトップレベルから使いやすくするためのスクリプトがインストールされています。

labltk

これは labltk ライブラリを含んだトップレベル環境で、様々なモジュールを使えるようにパスがあらかじめセットされています。この環境には Unix と Str ライブラリへのコードも含まれています。labltk は、 ocaml コマンドが使える場所ならどこでも置き換えて使うことができます。

Windows:

Windows: labltk ライブラリは、 Tcl/Tk 8.4 が使えるようにあらかじめコンパイルされています。あなたはまず始めに Tcl/Tk 8.4 をインストールしなくてはいけません。Tcl/Tk 8.4 は http://www.activestate.com/products/ActiveTcl/ からダウンロードすることができます。インストールが終わったら、(Tcl のインストール先の bin ディレクトリから) tcl84.dll と tk84.dll をあなたのパスに含まれるディレクトリに置かなくてはいけません。

トップレベル環境は使えませんが、通常のトップレベル環境から次のコマンドを入力することでライブラリをロードすることができます。

# #directory "+labltk";;
# #load "labltk.cma";;

コマンドラインから直接ロードすることもできます。

C:\ocaml\bin> ocaml -I +labltk labltk.cma

labltk ライブラリは多くのモジュールから構成されています。

Bell                Imagebitmap         Place
Button              Imagephoto          Radiobutton
Canvas              Label               Scale
Checkbutton         Listbox             Scrollbar
Clipboard           Menu                Selection
Dialog              Menubutton          Text
Entry               Message             Tk
Focus               Option              Tkwait
Frame               Optionmenu          Toplevel
Grab                Pack                Winfo
Grid                Palette             Wm

これらのモジュールについてここで詳細を述べるのは現実的ではありませんので、Tk モジュールの中のいくつかの基本的な関数を述べることにします。ただし、その他の多くのモジュールについての情報は Tcl の、それぞれの man ページで得ることができます。

  • The Tk library: Basic functions and types for LablTk?

新規 編集 添付