2016-05-26 2 views
0

Я пытаюсь обнаружить нажатие клавиши Enter на элементе в Treeview. Целью является открыть диалоговое окно для редактирования строки. Я искал дни. «Измененный» элемент не подходит, поскольку он активируется, перейдя на элемент в списке, а не на клавишу ввода. Все другие попытки (найденные из сети) генерируют различные ошибки. Я новичок в Gtk и, возможно, это неправильный подход? enter code herePython Gtk.Treeview Введите ключ

 selected_row = tasks_tree_view.get_selection() 
     selected_row.connect("changed", self.item_selected) 
#  selected_row.connect("activate", self.item_selected) 
#  selected_row.connect("pressed", self.item_selected) 
#  selected_row.connect("clicked", self.item_selected) 
#  selected_row.connect(onButtonPressed, self.item_selected) 
#  selected_row.connect("event", self.item_selected) 
#  selected_row.connect("key-press-event", self.item_selected) 
#  selected_row.connect("row-activated", self.item_selected) 
#  selected_row.connect("cursor-changed", self.item_selected) 
+0

Я считаю, что 'key-press-event' будет тот, который вы хотите. – oldtechaa

+0

Нет, подключитесь к 'row-activated' на самом древовидном представлении, а не на объекте выбора дерева. – andlabs

ответ

0

Вам нужно подключиться к row-activated signal of the GtkTreeView object. Ваши подходы терпят неудачу, потому что вы пытаетесь подключиться к объекту GtkTreeSelection. Так что в вашем случае, вы хотите

tasks_tree_view.connect("row-activated", self.item_activated) 

(ум параметры сигнала я не знаю, что они находятся в Python,.. Извините)

0

Я объединил оба ваших ответов, чтобы получить

tasks_tree_view.connect("key-pressed", self.item_activated)

И это решило мою проблему.

Большое спасибо вам обоим.

Смежные вопросы