编辑:(因为你发布了一些代码),只需使用:
active = [r for r in self.updatePageRadio.get_group() if r.get_active()][0]
并使用它来查找函数的字典并调用它:
my_actions[active]()
编辑:我完全忘了提到这对于RadioButtons来说根本不是一个好的用例,普通gtk.Button在我看来会好得多.
你的答案是使用RadioButton"组"系统.本文档对此进行了解释,但这是一个很小的实际例子.
首先,一个组实际上只是一个RadioButton本身,用于收集许多其他RadioButton.您指定一个组作为构造函数的第一个参数.
r1 = gtk.RadioButton(None, label='Cat') # this has no group, it is the first r2 = gtk.RadioButton(r1, label='Mouse') # use the first radio # button as the group argument r3 = gtk.RadioButton(r1, label='Dog') # again use r1
现在所有单选按钮都将同步.阅读它们的问题就像:
active_radios = [r for r in r1.get_group() if r.get_active()]