पहचाने नहीं गए हैं मैंने http://doc.qt.digia.com/4.6/gestures-imagegestures.html से "छवि जेस्चर उदाहरण" की कोशिश की। इस उदाहरण में आपके पास केवल 3 इशारा है: PanGesture, PinchGesture और SwipeGesture। लेकिन क्यूटी 5 जेस्चर प्रदान करता है:क्यूटी, जेस्चर। टैप एंडहोल्ड और स्वाइप
- TapGesture
- TapAndHoldGesture
- PanGesture
- PinchGesture
- SwipeGesture
आदेश सभी 5 इशारों हम ImageWidget-निर्माता में लिखने की ज़रूरत को पहचान करने के लिए :
grabGesture(Qt::TapGesture);
grabGesture(Qt::TapAndHoldGesture);
grabGesture(Qt::PanGesture);
grabGesture(Qt::PinchGesture);
grabGesture(Qt::SwipeGesture);
मैं विधि gestureEvent() भी
bool ImageWidget::gestureEvent(QGestureEvent *event)
{
if (QGesture *swipe = event->gesture(Qt::SwipeGesture))
swipeTriggered(static_cast<QSwipeGesture *>(swipe));
else if (QGesture *pan = event->gesture(Qt::PanGesture))
panTriggered(static_cast<QPanGesture *>(pan));
if (QGesture *pinch = event->gesture(Qt::PinchGesture))
pinchTriggered(static_cast<QPinchGesture *>(pinch));
if (QGesture *tap = event->gesture(Qt::TapGesture))
tapTriggered(static_cast<QTapGesture *>(tap));
if (QGesture *tapandhold = event->gesture(Qt::TapAndHoldGesture))
{
tapandholdTriggered(static_cast<QTapAndHoldGesture *>(tapandhold));
}
return true;
}
और लिखने लापता तरीकों
void ImageWidget::tapTriggered(QTapGesture *gesture)
{
qDebug() << "TAP" << gesture->position();
}
void ImageWidget::tapandholdTriggered(QTapAndHoldGesture *tapandhold)
{
qDebug() << "TAPANDHOLD";
}
की तरह जोड़ा तो, मेरे सवाल, क्यों इशारों स्वाइप करें और TapAndHold मान्यता प्राप्त नहीं हैं है? ये इशारे समान रूप से तीन संकेतों के रूप में लागू होते हैं जिन्हें पहचाना जाता है (पैन, पिंच और टैप)। यह क्यों काम नहीं करता है?
मैं तुम्हें मदद
क्या आपको यह पता चला? मैं QListWidget में इशारा कैप्चरिंग को समझने की भी कोशिश कर रहा हूं। –
क्या आपने इसे हल किया है? मुझे भी एक ही समस्या का सामना करना पड़ रहा है। – Tarantula