Как получить значение из выбранного элемента в treeview в PyGTK? Я изучаю PyGtk. У меня есть простое дерево с 1 столбцом, я получаю элементы для этого дерева из списка. Как получить значение выбранного элемента в treeview? Ответ 1 Вы можете использовать gtk.TreeView.get_selection() для получения gtk.TreeSelection. Далее вы должны использовать метод gtk.TreeSelection.get_selected_rows() для получения TreeModel (ListStore) и выбранных элементов пути. Затем вы можете использовать gtk.TreeModel.get_iter(), чтобы получить итерацию от пути (возвращаемого gtk.TreeSelection.get_selected_rows()). Наконец, вы можете использовать метод gtk.TreeModel.get_value() для получения значения, соответствующего столбцу, и ранее восстановленного итера. Пример: 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)
Ответ 1 Вы можете использовать gtk.TreeView.get_selection() для получения gtk.TreeSelection. Далее вы должны использовать метод gtk.TreeSelection.get_selected_rows() для получения TreeModel (ListStore) и выбранных элементов пути. Затем вы можете использовать gtk.TreeModel.get_iter(), чтобы получить итерацию от пути (возвращаемого gtk.TreeSelection.get_selected_rows()). Наконец, вы можете использовать метод gtk.TreeModel.get_value() для получения значения, соответствующего столбцу, и ранее восстановленного итера. Пример: 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)