Tcl 版的特別說明


取得 Tcl/Tk

最早的 Tk 其實就是 tcl 語言的擴充套件; 後來才被移植到其他語言上。 所以想使用 Tk, 從 tcl 出發最簡單。 你的 Linux 或 *BSD 光碟上本來就有 Tcl/Tk, 通常分成 tcl 與 tk 兩個套件。 安裝成功後可以執行範例程式 /usr/lib/tk*/demos/widget 看看 Tk 可以做出什麼東西。

其他作業系統的使用者請到 scriptics 的網頁下載最新的穩定版。


其他議題

  1. 顯示中文: .b configure -text [encoding convertfrom big5 {大家好!} ]
  2. 有關 callback (event handler)
    1. 請特別注意, 在 callback 當中出現的變數, 都是全域變數! (通常並不見得是你想像中的 "目前副程式中的同名稱局部變數") 例如:
                      proc A {...} {
                          set x ...
                          ...
                          bind ... ... {set x ...}
                      }
              
      

      這裡 bind 後面提到的 x, 其實是 global 的 x, 但經常會被誤會為 A 內的 x. 同樣地, 像是 after, fileevent, 及 -command 中所提及的變數, 也是如此.
    2. 指定 "callback 被叫起來時, 要接收到那些參數" 的語法: 最好用 [list callback_name arg1 arg2 ...] 的方式指定 callback 它自己的參數 因為我們通常希望 variable substitution 要現在發生, 所以不可以用 { ... }; 又因為要避免 variable substitution (現在立即) 發生後, 裡面出現空格, 讓 callback 接收到太多個參數, 所以不可以用 " ... " 或完全不加 quote.