如何将一组切换按钮与单选按钮链接?

4

我正在使用带有gobject introspection的Python 3来处理Gtk。如何让多个切换按钮链接在一起,以类似选项卡或单选按钮的方式运行 - 例如,默认情况下选择一个,当单击另一个时,之前处于 active 状态的按钮将被取消选择。

我尝试使用set_sensetive,但那会使应用它的部件变灰。

3个回答

6

3
使用set_active()(或props.active)。另外,您可以创建一些Gtk.RadioButton小部件,并将draw_indicator属性设置为False。在后一种情况下,您可以以正常方式创建单选按钮组,无需自定义处理。

你的“替代”方案在我看来似乎更受欢迎。 - ptomato
@doublep,关于你的第一个建议,请看我对iain回答的回复。但是对于“替代方案”的建议,我会接受你的答案。 - Marco Scannadinari
2
@doublep,顺便说一下,我认为你的意思是 Gtk.ToolButton.set_mode(False) - Marco Scannadinari
他的解决方案对我有效。只需确保在togglebutton的回调中检查小部件是否处于活动状态,否则它将在设置为false或true时执行。 - Michael Sinclair

1
你需要监听切换按钮上的切换信号,然后在其他按钮上调用set_active()。在调用set_active()时需要阻止切换信号,以免进入循环。请保留HTML标签。

我创建了一个回调函数,当 clicked 信号被发出时执行,如果按钮在点击之前处于活动状态(因为我不希望所有按钮都处于非活动状态),则会重新激活该按钮,但是似乎该函数在回调函数之前被执行... - Marco Scannadinari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接