我正在学习 PyGtk。我有一个带有 1 列的简单树视图,我从列表中获取该树视图的项目。
如何在树视图中获取所选项目的值?
您可以使用 gtk.TreeView.get_selection()方法来获取gtk.TreeSelection
.
接下来,您应该使用gtk.TreeSelection.get_selected_rows()方法来获取 TreeModel(ListStore)和所选项目的路径。
然后,您可以使用gtk.TreeModel.get_iter()从路径中获取 iter(由gtk.TreeSelection.get_selected_rows()
方法返回)。
最后,您可以使用gtk.TreeModel.get_value()方法来获取与先前恢复的列和 iter 对应的值。
例子 :
def onSelectionChanged(tree_selection) :
(model, pathlist) = tree_selection.get_selected_rows()
for path in pathlist :
tree_iter = model.get_iter(path)
value = model.get_value(tree_iter,0)
print value
listStore = gtk.ListStore(int)
treeview = gtk.TreeView()
treeview.set_model(listStore)
tree_selection = treeview.get_selection()
tree_selection.set_mode(gtk.SELECTION_MULTIPLE)
tree_selection.connect("changed", onSelectionChanged)