Всплывающее меню для приложения gtk + на GtkViewTree - PullRequest
0 голосов
/ 07 марта 2012

Я пытаюсь создать приложение, которое работает с файлами. Вот почему у меня есть GtkTreeView, который отвечает за отображение файлов, и мне нужно создать всплывающее меню на этом виджете, чтобы позволить пользователю игнорировать некоторые каталоги.

Я искал это в интернете и нашел это руководство на примере

Все хорошо, мне удалось это сделать, но проблема в том, что мне удалось сделать это только для метки, для некоторых виджетов это не работает (например, для GtkViewTree)

Когда я создаю GtkEventBox и ввожу туда экземпляр GtkViewTree, мой щелчок игнорируется.

Может кто-нибудь объяснить мне, в чем причина этого? Чем этот виджет GtkViewTree отличается от метки?

заранее спасибо

1 Ответ

3 голосов
/ 07 марта 2012

Всплывающие меню в древовидной структуре работают нормально, просто подключите сигнал напрямую к виджету TreeView. Вам не понадобится EventBox (это только для виджетов без окна).

widget.connect("button_press_event", on_button_press)

def on_button_press(widget, event):
    popup = get_popup_menu() # acquire your popup menu somehow
    popup.popup(None, None, None, event.button, event.time)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...