在構造函數中:setAttribute(Qt::WA_AcceptTouchEvents);
在類中
bool 類名::event(QEvent *event)
{
switch( event->type() )
{
case QEvent::TouchBegin:
{
QTouchEvent* touch = static_cast<QTouchEvent*>(event);
QList<QTouchEvent::TouchPoint> touch_list = touch->touchPoints();
touch_list.at(0).pos().x();
touch_list.at(0).pos().y();
event->accept();
return true;
}
case QEvent::TouchUpdate:
{
QTouchEvent* touch = static_cast<QTouchEvent*>(event);
if(touch->touchPointStates() & Qt::TouchPointPressed){
//判斷是否有觸摸點處於TouchPointPressed或TouchPointMoved或TouchPointStationary或TouchPointReleased
}
event->accept();
return true;
}
case QEvent::TouchEnd:
{
QTouchEvent* touch = static_cast<QTouchEvent*>(event);
event->accept();
return true;
}
return QWidget::event(event);
}