Tengo un QTableView
en el que estoy mostrando un modelo personalizado. Me gustaría coger un click derecho del ratón para que pueda abrir una gota menú contextual sobre los datos de tabla subyacente:Qt4: eventos del botón del mouse de QTableView no detectados
MainWindow::MainWindow()
{
QTableView * itsView = new QTableView;
itsView->installEventFilter(this);
... //Add other widgets and display them all
}
bool MainWindow::eventFilter(QObject * watched, QEvent * event)
{
if(event->type() == QEvent::MouseButtonPress)
printf("MouseButtonPress event!\n");
else if(event->type() == QEvent::KeyPress)
printf("KeyPress event!\n");
}
Extrañamente, consigo todos los eventos KeyPress correctamente: cuando tengo una celda resaltada y pulse una clave, aparece el mensaje "KeyPress!!". Sin embargo, solo recibo el mensaje "MouseButtonPress evento!" cuando hago clic en el borde muy fino que rodea toda la tabla.
Más de seis años después y esta respuesta simplemente me ahorró un montón de tiempo y molestia. ¡Gracias! – GuyGizmo
@GuyGizmo Me alegra oír eso :) Gracias por visitarnos;) –