Quiero mostrar un menú contextual cuando el usuario hace clic con el botón derecho en la fila del encabezado de Gtk.TreeView
. En GTK3, Gtk.TreeViewColumn
tiene un método get_button(), que lo hace fácil; simplemente conecte el menú al botón y conéctelo a un evento "hecho clic". Sin embargo, en GTK2, esto no funcionará. Solo puede llamar al método get_widget()
, que devuelve None si no ha configurado un widget a través del set_widget()
. Intenté poner un Gtk.Label
con el nombre de columna en Gtk.EventBox
y configurarlo como el widget Después de conectar el EventBox
a una devolución de llamada para el 'button_press_event', al hacer clic en él no se genera el evento.¿Cómo se adjunta un menú emergente a un botón de encabezado de columna en GTK2 utilizando PyGObject?
Intenté hacer algo como lo que figura en la lista here pero al hacer get_parent()
en la columna, el widget devuelve None y nunca llega al botón como lo indica su código.
¿Qué soluciones han encontrado las personas para esto?
Debo aclarar que por "en GTK2, esto no funcionará", debería haber dicho, "en GTK2, el método' get_button() 'no se implementó. –
Ahora también estoy descubriendo que' menu.attach_to_widget() 'y' menu.popup() 'aparentemente no son introspectibles en GTK2. Según el [sitio PyGObject] (https://live.gnome.org/PyGObject/IntrospectionPorting), en GTK3' menu.popup() 'se implementó a través de una anulación, sin embargo, no puedo encontrar documentación sobre cómo se hizo esto. –