Hay dos señales que se pueden capturar para trabajar con Radio Buttons son: ‘toggled’ y ‘clicked’
El siguiente ejemplo ilustra el funcionamiento, debe advertirse que al seleccionar un radiobutton se disparan dos señales toggled o clicked. Por tal motivo se consulta cual de los widget está activo.
rb1 = Gtk::RadioButton.new("Azul") rb2 = Gtk::RadioButton.new(rb1, "Rojo") rb3 = Gtk::RadioButton.new(rb1, "Amarillo") rb1.signal_connect('toggled') { |widget, data| #rb1.signal_connect('clicked') { |widget, data| print "Azul\n" if widget.active? print "rb1\n" } rb2.signal_connect('toggled') { |widget, data| #rb2.signal_connect('clicked') { |widget, data| print "Rojo\n" if widget.active? print "rb2\n" } rb3.signal_connect('toggled') { |widget, data| #rb3.signal_connect('clicked') { |widget, data| print "Amarillo\n" if widget.active? print "rb3\n" }