如何检测 GtkStack 或 GtkStackSwitcher 的变化

How to detect the change of a GtkStack or GtkStackSwitcher

我要做的是检测用户何时更改 GtkStack 中的可见子对象。

我使用 GtkStackSwitcher 作为按此设计显示按钮的可见方式:

因此 - 当有人 clicks/toggles 我想对其中一个按钮执行一些处理时。

我应该连接哪个事件来实现这个?

我都看过 Gtk.Stack and Gtk.StackSwitcher 但我没有看到任何明显的信号。对继续进行的最佳方式有什么想法吗?

这些按钮似乎不是标准按钮 - 所以我认为 'clicked' 事件不适用于这种情况。

我正在使用 Ubuntu 14.04 Gtk+3.10,python3

visible-child 就是您正在寻找的属性。使用 notify 信号获取更改通知:

def vc_changed(stack, gparamstring):
    print("visible child changed")

my_stack.connect("notify::visible-child", vc_changed)