[Qt-interest] QGraphicsView with QGestureEvent
Raymond de Vries
reedev at xs4all.nl
Tue Dec 8 18:36:55 CET 2009
Hi Elias,
I can't tell from your messages but are you using multitouch (without
the gesture classes) now with graphicsview and some graphicsobjects on
it? Is that so? It might be possible to do multitouch yourself (so
without gestures) but I have not yet found out how to distinguish
between the graphicsview (and it's viewport) and the graphics items on it.
I would love to find out how that works, even with pure multitouch events.
thanks, best regards
Raymond
Elias Capito wrote:
> Hi,
>
> I am using Qt 4.6.0 on Windows 7 x64, who is installed on a Dell
> Latitude XT with the last N-Trig driver.
>
> Is not related with the topic, but if you can answer, it would be good.
>
> I have a question about the gesture QSwipeGesture and
> QTapAndHoldGesture, the first are sometimes detect when I do strange
> gesture with many fingers, but I don't know how :D and the second is
> never detect, but the match in Windows is detect.
>
> Best regards
> Elias
>
> 2009/12/8 Raymond de Vries <reedev at xs4all.nl <mailto:reedev at xs4all.nl>>
>
> Hi,
>
> Ok, I can confirm this here too with your sample application as
> well as my own application. Fyi, I am using my own built
> qt-everywhere-opensource-src-4.6.0 on Windows 7, Visual Studio 9
> 2008. I'm sorry that I did not get your (by Denis) first remark to
> grab the getures with the *viewport*, I was doing it on the
> graphicsview directly (which resulted in the same asserion btw).
>
> Any hints or tips are welcome.
>
> best regards
> Raymond
>
>
>
> Elias Capito wrote:
>
>
> Thanks for your reply Denis.
>
> I have add the all gesture to the viewport with
> viewport()->grabGesture(...) in QGraphicsView and to my item,
> but when I debug my application any gesture are delivered to
> the items.
>
> I have tested with QGraphicsView and my own herited class of
> QGraphicsView.
>
> I have the following error when I make a gesture on an item
> and after i touch the viewport (not an item) : *ASSERT:
> "!isEmpty<>" ..
>
> *
> I add the source code* *in attachement*.
> *
>
> Best regards
>
> 2009/12/7 Raymond de Vries <reedev at xs4all.nl
> <mailto:reedev at xs4all.nl> <mailto:reedev at xs4all.nl
> <mailto:reedev at xs4all.nl>>>
>
>
> Hi Denis,
>
> I was also following this thread and I tried the same, with
> QGraphicsWebView but even with your advice, I don't get the
> gesture events...
>
> This is what you mean to do:
> MTCanvas : public QGraphicsView
> constructor
> viewport()->setAttribute(Qt::WA_AcceptTouchEvents);
> grabGesture(Qt::PanGesture);
> grabGesture(Qt::PinchGesture);
> grabGesture(Qt::SwipeGesture);
> etc
> MTCancas::event() does receive Gesture events
>
> MTWebBrowser : public QGraphicsWebView
> constructor
> setAcceptTouchEvents(true);
> grabGesture(Qt::PanGesture);
> grabGesture(Qt::PinchGesture);
> grabGesture(Qt::SwipeGesture);
> etc
> MTWebBrowser::event(QEvent *event) does not receive Gesture
> events
>
> Is this supposed to work?
>
> Thanks a lot, best regards
> Raymond
>
>
>
>
>
> Denis Dzyubenko wrote:
>
> Hi Elias,
>
> 2009/12/3 Elias Capito <elias.capito at gmail.com
> <mailto:elias.capito at gmail.com>
> <mailto:elias.capito at gmail.com
> <mailto:elias.capito at gmail.com>>>:
>
>
> I want to do a multitouch application.
>
> I have a problem with the QGestureEvent on a
> QGraphicsObject item . I use
> "grabGesture" on my item in constructor and i debug
> to see
> the input event.
>
> When I run the application, the QGestureEvent never
> appear, but if I use
> QTouchEvent on item in place of QGestureEvent, with
> "setAcceptTouchEvent",
> in my debug I can see the touch event.
>
> If I use QGestureEvent with a simple QWidget and I
> run it,
> I can see the
> gesture event, so i think it's correct.
>
> It's the first time, that I use QGraphicsView, so I
> think
> i have miss
> something.
>
> Anyone have an idea, why the QGestureEvent not
> appear on
> my item ?
>
>
> right now to get gesture events on a QGraphicsObject it
> should
> subscribe to a gesture _and_ the viewport of the
> graphicsview
> should
> also explicitly subscribe to the same gesture.
> Apparently it isn't
> documented right now, sorry about that. Anyway, I this
> will be
> improved in future versions of Qt so that you will not
> have to
> do that
> manually (thank god I forgot to document that, so we can
> change the
> behavior ;) )
>
> However for now you need to make sure the viewport also
> subscribes to
> the same gesture type.
>
>
>
>
>
>
More information about the Qt-interest-old
mailing list