为什么在 python 回调函数 (Gtk) 中使用 'widget' 只在标准输出上打印?

why use 'widget' in python callback function (Gtk) which only prints on stdout?

我正在使用 python 从 this 学习 Gtk 编程。但是我无法理解以下回调定义中 widget 关键字的原因是什么?有人可以解释一下它的作用吗?

def on_button_clicked(self, widget):
    print("Hello World")

点击按钮时,执行on_button_clicked方法。发生这种情况时,window 和按钮对象分别作为 selfwidget 传递给方法。这在需要对按钮执行某些操作(例如获取其状态或更改其文本)的情况下非常有用。

如果没有 widget 参数,按钮对象将被传递给该方法,并且不会有参数来接收它,您将得到一个 TypeError。