Я пытаюсь отобразить пользовательское контекстное меню, когда щелкаю правой кнопкой мыши строку в TreeView.
treeView.button_press_event.connect ((event) => {
if (event.type == EventType.BUTTON_PRESS && event.button == 3) {
Gtk.Menu menu = new Gtk.Menu ();
Gtk.MenuItem menu_item = new Gtk.MenuItem.with_label ("Add file");
menu.add (menu_item);
menu.show ();
}
});
Он ничего не показывает. Если я отлаживаю сообщение, я вижу, что блок выполняется при щелчке правой кнопкой мыши по строке в TreeView. Я пробовал show_all(), но безуспешно. popup_at_pointer() доступен только в Gtk+ 3.22 и более поздних версиях. Я использую Gtk+ 3.18.
Есть ли способ отобразить пользовательское меню при щелчке правой кнопкой мыши по строке в Gtk.TreeView?
Для библиотеки gtk rust это будет означать connect_button_press_event