PyGTK中的“小部件”做了什么

时间:2014-02-10 14:33:15

标签: python pygtk

示例代码如下:

class Something(gtk.Window):
    def __init__(self):
        ...
        treeview = gtk.TreeView(store)

        tree_selection = treeview.get_selection()                               
        tree_selection.set_mode(gtk.SELECTION_SINGLE)                           
        tree_selection.connect("changed", self.onSelectionChanged)
        ...

     def onSelectionChanged(self, tree_selection):                               
        (model, pathlist) = tree_selection.get_selected()                       
        self.selectedValue = model.get_value(pathlist, 0) - 1

tree_selection是如何传入onSelectionChanged函数的?我看到许多其他类似用途,例如:

def onDestroy(self, widget):
    gtk.main_quit()

我们可以在第二个参数中使用这个“小部件”吗?

1 个答案:

答案 0 :(得分:0)

当您将处理程序(如onSelectionChanged)连接到信号(如"changed")时,处理程序将添加到该对象的信号处理程序列表的末尾。

当对象发出信号时,它将调用此列表中的处理程序(或“回调”),将其自身作为第一个参数。

对于所有信号都是如此:第一个参数总是发射信号的对象。


通过这种方式,您可以调用调用get_selected()方法的TreeSelection对象的onSelectionChanged方法:您可以通过tree_selection参数访问它。

相关问题