クラス階層は複雑に見えますが、実際にプログラムを書く際には、 アプリケーションプログラマはほとんど常にクラス階層の最底辺に あるクラスしか参照しません。
注意:
このリファレンス資料を活用するには、Tk の短いプログラムを読んだり、 Tk コマンドの様々な側面を知っておく必要がままあるでしょう。 (下の説明のTkinter 版は、 20.1.4 節を参照してください。)
Tk スクリプトは Tcl プログラムです。全ての Tcl プログラムに同じく、 Tk スクリプトはトークンをスペースで区切って並べます。 Tk ウィジェットとは、ウィジェットのクラス、 ウィジェットの設定を行うオプション、そしてウィジェットに 役立つことをさせるアクション をあわせたものに過ぎません。
Tk でウィジェットを作るには、常に次のような形式のコマンドを使います:
classCommand newPathname options
.
(ピリオド) という名前になり、その子ウィジェット階層もピリオドで
区切ってゆきます。ウィジェットの名前は、例えば
.myApp.controlPanel.okButton
のようになります。
以下に例を示します:
button .fred -fg red -text "hi there" ^ ^ \_____________________/ | | | class new options command widget (-opt val -opt val ...)
ウィジェットを作成すると、ウィジェットへのパス名は新しいコマンドに なります。この新たなwidget command は、プログラマが新たに作成した ウィジェットにaction を実行させる際のハンドル (handle) に なります。Cでは someAction(fred, someOptions)と表し、 C++ではfred.someAction(someOptions)と表すでしょう。Tkでは:
.fred someAction someOptions
のようにします。
オブジェクト名 .fred
はドットから始まっているので注意してください。
読者の想像の通り、someAction に指定できる値はウィジェット
のクラスに依存しています: fred がボタンなら .fred disable
は
うまくいきます (fred はグレーになります) が、fred がラベルならうまく
いきません (Tkではラベルの無効化をサポートしていないからです)。
someOptions に指定できる値はアクションの内容に依存しています。
disable
のようなアクションは引数を必要としませんが、
テキストエントリボックスの delete
コマンドのようなアクションには
テキストを削除する範囲を指定するための引数が必要になります。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。