[pygtk] How do I set radio buttons from a program

Peter Robinson pjr at itee.uq.edu.au
Fri Apr 13 05:42:29 WST 2007


John Dennis wrote:
> On Thu, 2007-04-12 at 10:29 +1000, Peter Robinson wrote:
>   
>> I am writing a simple applet whose button3 menu contains a list of radio 
>> buttons.
>> When the applet starts up I want to be able to run a test and base the 
>> radio button settings on the result of the test.
>> I have spend many hours looking at tutorials, manuals and google'ing for 
>> an answer to my problem without any luck.
>>
>> Any suggestions?
>>     
>
> button.set_active(True)
>
> Note, this will cause the 'toggled' signal to be emitted for both the
> button being unset and the the button being set. You should have a
> toggled signal handler shared with each button in the group, then test
> for whether the button in question is active, e.g.
>
>     def radio_changed(self, radiobutton, choice):
>         if radiobutton.get_active():
>              # choice is the new button selected in the radio group
>         else:
>              # choice was unset, mostly you don't have to handle this
>
> Note: choice is the user_data you pass in when you connect the toggled
> signal to the button.
>
>   
Thanks for that suggestion - the other problem I am having is being able 
to get at the button.

I have used        
        popup = self.applet.get_popup_component()
        popup.connect('ui-event', self.ui_callback)
        applet.setup_menu(xml_menu, ...)
where the radio buttons are defined in xml_menu.




More information about the pygtk mailing list