[Kde-devel-es] A QTreeView desde QListView

Eloy Cuadra ecuadra at eloihr.net
Thu Oct 8 20:31:29 CEST 2009


Hola,

El jueves, 8 de octubre de 2009, Jaime Robles escribió:
> Estoy tratando de detectar si he pulsado el ratón con el botón derecho
> para sacar el típico menú contextual, he usado el mouseReleaseEvent, como
> aparece en la documentación   (estoy usando un ejemplo de la documentación
> de Qt "Scribble") pero...
> 
> Consigo detectar si uso ratón derecho o izquierdo sólo cuando pulso sobre
> zonas "genéricas" del widget principal, no cuando pulso sobre un
> qtreewidget...
> ¿Cómo puedo definir el mouseReleaseEvent de un qtreewidget que defino en
> el fichero ".ui" y luego uso desde el .cpp?

Yo me olvidaría de mouseReleaseEvent para eso y me ocuparía de conectar la 
señal customContextMenuRequested del QTreeWidget con una función tuya que 
muestre el menú de contexto:

  connect( qtreewidget, SIGNAL( customContextMenuRequested( const QPoint& ) ),
	   this, SLOT( itemContextMenu( const QPoint& ) ) );

Y luego usa algo como:

void MyAppWindowView::itemContextMenu( const QPoint& pos )
{
  QMenu menu(this);
  menu.setTitle("context");
  // añade las acciones pertinentes aquí

  menu.exec(QCursor::pos());
}

Un saludo,
-- 
Eloy Cuadra


More information about the Kde-devel-es mailing list