Bug #8957

Ruby tk control variables for radiobutton menu radiobutton and menu checkbutton not working correctly.

Added by rob (rob gow) over 4 years ago. Updated over 4 years ago.

Target version:
ruby -v:
ruby 2.0.0p195 (2013-05-14) [x64-mingw32]


The control variables for radiobutton menu radiobutton and menu checkbutton are not working correctly. In a starter project I am coding, they do not set the variable at all, and if set, it does not affect the button that is checked. I've tried the defaults, $var @var @@var, and no difference.

I've coded round the radio buttons using the variable and then setting with .select().
The menu radioButtons I can just do when the command function is called.
With the menu checkButtons, since the variable is not working I cannot tell the state. So
I set indicatoron to 0 and just flip the action in the command function. But then there are no
checks for the check boxes.

I've bunched some code together out of the tkdocs tutorial to check this, and while this at least sets the variable initially, setting the variable does not change the selected radioButton. But having set the variable once, clicking the radio buttons no longer changes the variable. From that point it can only be changed in code. I've uploaded this as a demo of the problem.

This is on windows
tk is;
irb(main):035:0> Tk::TK_PATCHLEVEL
I've tried ruby 1.9.3p448 as well.

Also Linux ruby 2.0.0p247 versions as well.
=> "8.5.12"

test_control_variables.rb (2.17 KB) test_control_variables.rb rob (rob gow), 09/27/2013 03:50 AM


#1 [ruby-core:57416] Updated by nagachika (Tomoyuki Chikanaga) over 4 years ago

  • Category set to lib
  • Status changed from Open to Assigned
  • Assignee set to nagai (Hidetoshi Nagai)

#2 [ruby-core:57420] Updated by nagai (Hidetoshi Nagai) over 4 years ago

  • Status changed from Assigned to Rejected
  • % Done changed from 0 to 100

It depends on bugs on the reporter's code.

--- test_control_variables.rb 2013-09-27 14:48:40.000000000 +0900
+++ test_control_variables_mod.rb 2013-09-27 14:51:26.000000000 +0900
@@ -49,12 +49,12 @@

def b_button
puts("setting contol variable to office")

  • $phone = 'office'
  • $phone.value = 'office' end

def c_button
puts("setting contol variable to mobile")

  • $phone = 'mobile'
  • $phone.value = 'mobile' end


Also available in: Atom PDF