2013-01-22 42 views
0

根據ActiveTcl 8.5文檔:
ttk :: radiobutton小部件用於組顯示或更改一組互斥選項。 Radibuttons鏈接到一個Tcl變量,並有一個關聯的值;當單擊一個單選按鈕時,它將該變量設置爲其關聯的值。
還有一個更一般的定義:
您使用單選按鈕進行互斥設置。點擊其中一個會導致其他任何被按下的按鈕彈出,就像在舊的汽車收音機上一樣。我如何使Tcl/Tk按鈕的行爲像單選按鈕?

我真的更喜歡使用按鈕的外觀而不是單選按鈕。我怎樣才能在一組按鈕中實現相同的單選按鈕行爲?
我在http://wiki.tcl.tk/17899找到關於切換按鈕,但這些行爲更像檢查按鈕。

任何洞察真的appreacited。謝謝

+0

我徘徊,如果我可以使用標籤而不是按鈕作爲單選按鈕。 – milarepa

回答

1

您可以設置按鈕的relief以保持其沉沒性。

set colours {red blue green} 
foreach c $colours { 
    pack [button .$c -text $c -command [list pushed $c]] 
} 

proc pushed colour { 
    puts $colour 
    set label [.$colour cget -text] 
    foreach c $::colours { 
     .$c configure -relief [expr {$c eq $label ? "sunken" : "raised"}] 
    } 
} 
+0

謝謝你,工作很棒。我設法通過添加以下代碼來修改您的腳本以便與標籤一起使用:bind。$ c 「pressed $ c」 – milarepa

相關問題