Сигналы GtkTreeView, активированные строкой и измененные курсором - PullRequest
1 голос
/ 13 февраля 2010

У меня есть дерево, и я наблюдаю за сигналами cursor-changed и row-activated. Проблема в том, что для запуска активации строки мне сначала нужно щелкнуть строку (запуск cursor-changed), а затем сделать двойной щелчок, требующий 3 щелчка.

Можно ли ответить на оба сигнала двумя щелчками мыши?

Ответы [ 2 ]

4 голосов
/ 23 июня 2010

Не очень понятно, чего вы пытаетесь достичь. Я предполагаю, что вы пытаетесь ответить на изменение пользователем выбора в древовидном представлении.

В этом случае подключитесь к сигналу [changed][1] на gtk.TreeSelection:

selection = treeview.get_selection()
selection.connect('changed', self.on_treeview_selection_changed)

Насколько я могу судить, это невозможно с помощью дизайнера интерфейса glade.

Если, однако, вы пытаетесь сделать что-то еще целиком, добавьте еще немного информации.

3 голосов
/ 23 июня 2010

Сигнал cursor-changed испускается даже при однократном щелчке на той же (выбранной) строке. Тем не менее, сигнал row-activated испускается при двойном щелчке строки, независимо от того, был ли он выбран до двойного щелчка или нет. Таким образом, вам не нужно 3 щелчка, чтобы вызвать row-activated.

Как упоминал Джон, вы хотите подключиться к сигналу changed выбора вместо cursor-changed.

...