Я быстро работал над второстепенным (впервые) приложением и столкнулся с препятствием - как получить выбранную строку (данные) из TreeView? Данные в TreeView передаются из списка файлов в каталоге, и мне нужно знать, какие строки были выбраны (и, следовательно, какие файлы были). Каков наилучший способ сделать это?
Вот текущий код:
self.treeview = self.builder.get_object("treeview")
select = self.treeview.get_selection()
select.connect("changed", self.on_tree_selection_changed)
def on_tree_selection_changed(selection):
model, treeiter = self.treeview.selection-get()
if treeiter != None:
print "You selected", model[treeiter][0]
self
) в качестве первого аргумента функции. Также неправильный вызов функции. Смотрите мой ответ нижеОтветы:
Смотрите здесь: http://python-gtk-3-tutorial.readthedocs.org/en/latest/treeview.html
Вы можете получить выборку по событию, подключив объект выбора к событию:
Редактировать: чтобы установить это в классе окна, используйте следующий код:
Edit2: если вы хотите выбрать несколько строк, вам нужно использовать,
Gtk.TreeSelection.get_selected_rows()
который возвращает списокGtk.TreePath
экземпляров всех выбранных строк.источник
def on_tree_selection_changed(selection,data):
). Затем в функции выведите представление того, что каждый должен видеть (например:print repr(selection)
илиprint repr(data)
). Одним из них должна быть правильная структура данных (например, Gtk.TreeSelection) для использования. Размещение кода также поможет.