如何将一组切换按钮链接为类似单选按钮的功能?

4 投票
3 回答
1885 浏览
提问于 2025-04-17 17:21

我正在使用Python 3和gobject introspection来开发Gtk应用。请问我怎么才能把多个切换按钮连接在一起,让它们的行为像选项卡或单选按钮一样?比如说,默认情况下有一个按钮是选中的,当我点击另一个按钮时,之前选中的那个按钮就会取消选中。

我试过使用set_sensetive,但这样会让应用的那个按钮变成灰色,看起来像是不可用的状态。

3 个回答

1

你需要监听切换按钮的信号,然后在其他按钮上调用 set_active() 方法。为了避免进入一个循环,在调用 set_active() 的时候,你需要暂时阻止切换信号的触发。

6

使用 Gtk.RadioButton,并将绘制指示器的模式设置为 False。

button1 = Gtk.RadioButton("Product Codes")
button1.set_mode(False)

https://lazka.github.io/pgi-docs/Gtk-3.0/classes/ToggleButton.html#Gtk.ToggleButton.set_mode

在这里输入图片描述

感谢:

3

使用 set_active() 方法(或者用 props.active)。另外,你也可以创建一些 Gtk.RadioButton 组件,并把 draw_indicator 属性设置为 False。这样的话,你就可以像平常一样创建单选按钮组,而不需要特别处理。

撰写回答