Necesito mostrar un menú contextual cada vez que se hace clic en una pestaña y debe reaccionar a esa pestaña específica. ¿Hay alguna forma de hacer esto sin subclasificarlo?Menú contextual de la pestaña QTabWidget
Respuesta
manera fácil, pero posiblemente no exactamente lo que necesita:
- Conectar a la señal 'CurrentChanged' de su QTabWidget
- En la ranura que está conectado a la señal, crear un QMenu y rellenarla según sea necesario
- por último, en la ranura que está conectado a la señal, llame QMenu :: exec (QCursor :: pos())
esta manera se consigue una función llamada cada vez que se cambia la pestaña (no nece solo se hizo clic) y generan un menú en la posición actual del mouse.
forma complicada, lo que hace exactamente lo que usted describe:
- llamada QObject::installEventFilter en su QTabWidget, de modo que todos los eventos de su QTabWidget son redirigidos a su propio objeto.
- En su propio objeto, vuelva a implementar QObject::customEvent y maneje todos los eventos de QMouseEvent.
- Complete un QMenu según sea necesario y llame a QMenu :: exec en la ubicación del QMouseEvent que está gestionando.
Creo que necesita crear su propia clase que hereda de QTabWidget y anular la función protegida MousePressEvent (QMouseEvent) en la que puede crear su menú contextual con el botón derecho.
-1 ya que específicamente pidió una forma de lograr lo que quiere sin subclasificar QTabWidget. –
Si no está familiarizado con el installEventFilter, la herencia es una manera más fácil. Pero déjale probar tu segunda solución primero. –
- 1. Menú contextual de TabControl
- 2. Cómo agregar menú contextual al menú contextual de NSOutlineView (
- 3. Establecer texto de etiqueta en la pestaña QTabWidget
- 4. QTabWidget establece la fuente del título de una sola pestaña
- 5. Menú contextual de pestañas para WeifenLuo.WinFormsUI.Docking
- 6. menú contextual principal?
- 7. menú contextual jquery desactivar elementos de menú
- 8. cómo llamar menú contextual
- 9. PyQt y menú contextual
- 10. Visual Studio 2010: nombre del menú contextual de la pestaña del documento
- 11. Menú contextual en Android WebView
- 12. Menú contextual por clic corto
- 13. Listener androide despedir menú contextual
- 14. Mostrar casilla de verificación para menú contextual Menú contextual de un botón
- 15. agregar elemento de menú al menú contextual predeterminado
- 16. ¿Puedo personalizar el menú contextual de AvalonDock?
- 17. icono de Windows Shell menú contextual
- 18. jQuery menú desplegable, pestaña accesibilidad
- 19. Editar menú contextual en el navegador
- 20. Eliminar el menú contextual en TinyMCE
- 21. ¿Cómo modificar el menú contextual en CKEditor?
- 22. Tortoise SVN: cómo cambiar el menú contextual?
- 23. Copiar menú contextual para ListView Control
- 24. menú contextual para eliminar elementos en listview
- 25. ¿Qué es "menú contextual" & método registerForContextMenu()
- 26. Agregar icono al menú contextual hijo
- 27. Desactivar el menú contextual en cromo
- 28. La creación de menú contextual para Win32 API
- 29. menú contextual desaparece con la Palabra de automatización
- 30. La integración en el Explorador de Windows menú contextual del
Su primera solución fácil no funciona como él quiere. El menú contextual no se mostrará, el clic del mouse se hace en la pestaña actual. La única solución parece ser la segunda. –