• 8515阅读
  • 2回复

[提问]关于QT(qtouch)多点触屏的代码问题. [复制链接]

上一主题 下一主题
离线yaloml
 

只看楼主 倒序阅读 楼主  发表于: 2011-10-22
关键词: QT4求助C++

关于qt 多点触屏的一段代码,我想实现当前单词被选中的情况下(至此一点触屏),第二点触屏出现时,响应并弹出一个空间就是食指选词,中指在食指不离开屏幕的同时点击屏幕,弹出一个控件代码如下:
QTextCursor cursor;cursor = this->textCursor();if (cursor.hasSelection()){QTouchEvent *touchEvent = static_cast<QTouchEvent *>(event);QList<QTouchEvent::TouchPoint> touchPoints = touchEvent->touchPoints();if (touchPoints.count() == 2) {// determine scale factorconst QTouchEvent::TouchPoint &touchPoint0 = touchPoints.first();const QTouchEvent::TouchPoint &touchPoint1 = touchPoints.last();QLineF (touchPoint0.lastScenePos(), touchPoint1.lastScenePos());if (touchEvent->touchPointStates() & Qt::TouchPointReleased){textion->show();}}}}}

能实现吗?手头无多点触屏设备,如果不能请指出代码不合理的地方,详细的答案狂送分!
离线yaloml

只看该作者 1楼 发表于: 2011-10-22

void textedit::multitouch(QEvent *event)
{

    {
            QTextCursor cursor;
            cursor = this->textCursor();

            if (cursor.hasSelection())
            {
                QTouchEvent *touchEvent = static_cast<QTouchEvent *>(event);
                QList<QTouchEvent::TouchPoint> touchPoints = touchEvent->touchPoints();
                if (touchPoints.count() == 2) {
                  
                    const QTouchEvent::TouchPoint &touchPoint0 = touchPoints.first();
                    const QTouchEvent::TouchPoint &touchPoint1 = touchPoints.last();

                    QLineF (touchPoint0.lastScenePos(), touchPoint1.lastScenePos());

                    if (touchEvent->touchPointStates() & Qt::TouchPointReleased)
                    {
                        textion->show();



                    }
        }
}
        }
    }
离线shy_wing

只看该作者 2楼 发表于: 2013-10-09
能告诉我你是怎么获取到touchEvent的吗?我总是获取到mouseEvent
快速回复
限100 字节
 
上一个 下一个