Tcl/Tk快速直觀

[ Next: 基本的 Tk 對應 Tkinter | Previous: Tkinter 類別概述 | 內容 ]


Tcl/Tk快速直觀

這一節會含括進來是因為很不幸的大部分的Tkinter文件都會以Tk的線上文件及John Ousterhout的書中的格式來呈現,為了使用這些參考資料,有時你必須知道如何閱讀Tk的小單元及確認Tk命令的各種部份。(詳見 基本的 Tk 對應 Tkinter 這篇底下所列的tkinter對等的基礎。)

Tk 命令稿是Tcl 程式,向所有的 Tcl 程式一樣,Tk 命令稿只是由空格分隔的符號列表,Tk 元件只是它的類別,選項 幫助設定,而 actions 可以讓它作有意義的事。

要在Tk中產生一個元件,命令的格式像這樣:

類別命令 新的路徑名稱 選項

類別命令
指示要產生哪一類的元件(按鈕、標籤、選單…)
新的路徑名稱
是這個元件新的名稱,在Tk裡的名稱都是獨一的,為了幫助堅持這規定,Tk中的元件用路徑名稱來命名,就像檔案系統的檔案一樣,頂層的元件,root被稱作 “.” (句號) 其子元件用更多的句號來區隔,舉個例: .myApp.controlPanel.okButton 就是一個元件的名稱。
選項
配置元件的外觀以及在某些情形下配置他的行為,選項的格式可以是一系列的旗標及值,旗標會用 `-‘來進行就像unix shell command 旗標而當值有一個字以上時則用引號來放入。

舉例:

button       .fred -fg red -text “hi there”
^                ^    ______________/
|                 |                   |
類別命令    新元件           選項(-opt val -opt val …)

元件一旦建立,擁有路徑名稱的元件會成為一個新的命令,新的元件命令是程式設計師用來處理新的元件來執行某些的動作,在C語言中,你可以表示成這樣someAction(fred, someOptions),在C++裡你可以這樣表示 fred.someAction(someOptions),而在Tk下可以這樣表示:

.fred someAction someOptions

注意物件名稱 .fred會用句號開始。

正如你所想的,someAction 合法的值要看元件的類別:.fred disable 在fred是個按鈕時是可以運作的(fred 會變成灰色),但如果fred是標籤則不能運作(停用標籤在Tk中不支援)。

someOptions 的值也是依賴動作,有些動作像 disable, 不需要參數,其他像文字輸入盒的 delete 命令會需要參數來指定多少的文字要刪除, (不幸的是,John Ousterhout 交互使用這兩個術語 “widget command” 及”action”(p 154),在實務中不會造成混淆,但對於初學者則有可能亂七八糟的。)

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *