[Interest] Globally Converting QTapAndHoldGesture to Mouse Double Click
jnfo-c at grauman.com
Fri Feb 22 23:05:38 CET 2013
That is a good thought, but I don't think that is the problem. I have a
double click event handler on one of my widgets, and it's not even getting
called. I would think that sending a double click event would cause the
double click event handler to be called, so that's why I think that
somehow I'm not sending the double click event correctly or somehow it
isn't getting to the appropriate widget... Thanks.
> Hi Josh,
> I think most widgets are expecting Press, Release, DoubleClick, Release
> In my own code, I've had to set a flag on the double-click, then action it
> on the following release. This was where the double-click was to open
> another dialog. Without this, the release would trigger a click in the new
> form, which the client did not want to occur.
> Maybe QInputMethod might be more appropriate in your case?
> Hope that helps.
>> Sent: Friday, 22 February 2013 4:36 PM
>> Hello all,
>> I'm trying to write a global proceedure to convert all QTapAndHoldGesture
>> events to mouse double click events. I thought this should be trivial, but
>> really stumping me.
>> I setup an event filter globally for my QApplication and grab the gesture
>> And then I have an event filter as follows:
>> bool myObject::eventFilter(QObject *obj, QEvent *e)
>> if(e->type() == QEvent::Gesture)
>> QGestureEvent *event = static_cast<QGestureEvent*>(e);
>> if(QGesture *gest = event->gesture(Qt::TapAndHoldGesture))
>> QTapAndHoldGesture *tah = static_cast<QTapAndHoldGesture *>(gest);
>> QMouseEvent dblClk(QEvent::MouseButtonDblClick, tah-
>>> position().toPoint(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
>> QApplication::sendEvent(obj, &dblClk);
>> return true;
>> I receive the gesture events fine, but for some reason when none of my
>> widgets receive the double click events. I've tried lots of different
>> options for instantiating my QMouseEvent. I've tried calling grabMouse on
>> the widget before sending the event, but still nothing receives double
>> click events. Does anyone have an idea of why none of my widgets receive
>> the double click events?
> Interest mailing list
> Interest at qt-project.org
More information about the Interest