Posted to tcl by schelte at Mon Oct 20 13:54:10 GMT 2008view raw
- # This program brings up two toplevels. The Quit button on top2 does not work
- # because of the grab on .tree1. After bringing up the combobox list and then
- # clicking outside the list to hide it again the Quit button of top2 becomes
- # active. This happens because the [grab .tree1] command performed by the
- # combobox bindings fails ("grab failed: window not viewable"). However, the
- # same command executed by pressing F2 has no problems to set the grab on
- # .tree1, even though it is still not viewable. Pressing F1 will show which
- # widget currently has the grab, if any.
- wm withdraw .
- frame .tree1
- toplevel .tree1.top
- ttk::combobox .tree1.top.box -state readonly \
- -values {"Option 1" "Option 2" "Option 3"}
- label .tree1.top.grab -textvariable grab
- button .tree1.top.quit -text Quit -command exit
- grid .tree1.top.box -padx 8 -pady 8 -sticky nwe
- grid .tree1.top.grab -padx 8 -pady 8
- grid .tree1.top.quit -padx 8 -pady 8
- toplevel .top2
- button .top2.quit -text Quit -command exit
- grid .top2.quit -padx 8 -pady 8
- grab .tree1
- bind all <F1> {set grab [grab current]}
- bind all <F2> {grab .tree1}