#python #gtk #pygtk #gtktreeview
#python #gtk #pygtk #gtktreeview
Вопрос:
Я изучаю PyGTK. У меня есть простой treeview с 1 столбцом, я получаю элементы для этого treeview из списка.
Как получить значение выбранного элемента в treeview?
Комментарии:
1. PS: Не забудьте принять (нажав на «справа» слева от ответа) мой ответ, если он вас устраивает. Спасибо!
Ответ №1:
Вы можете использовать gtk.Метод TreeView.get_selection() для получения gtk.TreeSelection
.
Далее вы должны использовать gtk.Метод TreeSelection.get_selected_rows() для получения TreeModel (хранилища списков) и путей к выбранным элементам.
Затем вы можете использовать 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)