示例代码如下:
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()
我们可以在第二个参数中使用这个“小部件”吗?
答案 0 :(得分:0)
当您将处理程序(如onSelectionChanged
)连接到信号(如"changed"
)时,处理程序将添加到该对象的信号处理程序列表的末尾。
当对象发出信号时,它将调用此列表中的处理程序(或“回调”),将其自身作为第一个参数。
对于所有信号都是如此:第一个参数总是发射信号的对象。
通过这种方式,您可以调用调用get_selected()
方法的TreeSelection
对象的onSelectionChanged
方法:您可以通过tree_selection
参数访问它。