選擇視窗小部件用於選擇在一個Tk應用程式不同的選項。可用的選擇視窗小部件的列表,如下所示。
1 | Radiobutton | 視窗小部件具有一組開/關按鈕和標籤,其中一個可被選擇 |
2 | Checkbutton | 視窗小部件具有一組開/關按鈕和標籤,其中許多可被選擇。 |
3 | Menu | 視窗小部件為選單項充當支架。 |
4 | Listbox | 視窗小部件,顯示一個或多個單元格,其中的列表可以被選擇。 |
一個簡單的Tk選擇部件使用的範例如下所示。
#!/usr/bin/wish grid [frame .gender ] grid [label .label1 -text "Male" -textvariable myLabel1 ] grid [radiobutton .gender.maleBtn -text "Male" -variable gender -value "Male" -command "set myLabel1 Male"] -row 1 -column 2 grid [radiobutton .gender.femaleBtn -text "Female" -variable gender -value "Female" -command "set myLabel1 Female"] -row 1 -column 3 .gender.maleBtn select grid [label .myLabel2 -text "Range 1 not selected" -textvariable myLabelValue2 ] grid [checkbutton .chk1 -text "Range 1" -variable occupied1 -command {if {$occupied1 } { set myLabelValue2 {Range 1 selected} } else { set myLabelValue2 {Range 1 not selected} } }] proc setLabel {text} { .label configure -text $text }
當我們執行上面的程式,會得到下面的輸出。