qt 关于触摸手势擦除的手势

brosh 2015-12-15 10:14:45
qt 有支持触摸 擦除手势 的事件吗 比如4根手指同时触摸 擦除手势有这个事件吗
...全文
235 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
brosh 2015-12-17
  • 打赏
  • 举报
回复
引用 10 楼 u013466477 的回复:
不好意思这是我写错了,你看qt帮助,索引搜索touchEvent里面的函数看看就知道了 QList<QTouchEvent::TouchPoint> tpList = touchEvent->touchPoints(); for(int i=0; i<tpList.size(); i++) { QTouchEvent::TouchPoint tp = tpList.at(i); }
非常感谢
brosh 2015-12-16
  • 打赏
  • 举报
回复
引用 6 楼 u013466477 的回复:
[quote=引用 5 楼 brosh 的回复:] [quote=引用 4 楼 u013466477 的回复:] 这是个类,所有手操作的信息都在里面,它有函数可以获取位置和区域啊 TouchPoint::pos(); TouchPoint::lastPos(); TouchPoint::rect();
是啊,这个我也知道,但是遇到问题了,这个TouchPoint的头文件找不到啊,文档里面说要#include <TouchPoint>,可是没有这个TouchPoint可咋办,网上搜也搜不到,我是5.5版本的[/quote] 这么写吧,TouchPoint 这个应该是写在QTouchEvent里面的 QTouchEvent::TouchPoint touchPoint;[/quote] QTouchEvent::TouchPoint *tp; QTouchEvent *touchEvent = static_cast<QTouchEvent *>(e); qDebug()<<"event:"<<e; qDebug()<<"tp:"<<tp->rect(); qDebug()<<"tp:"<<tp->pos(); qDebug()<<"touchEvent:"<<touchEvent; event: QTouchEvent(TouchBegin states: TouchPointPressed, 1 points: (TouchPoint(0 (711.18,349.53 1x0.18) TouchPointPressed press 1 vel QVector2D(0, 0) start (711.68,349.62) last (711.68,349.62) delta (0,0))) tp: QRectF(1.79046e-307,1.80105e-307 1.80108e-307x1.80111e-307) tp: QPointF(2.691e-307,2.70161e-307) touchEvent: QTouchEvent(TouchBegin states: TouchPointPressed, 1 points: (TouchPoint(0 (711.18,349.53 1x0.18) TouchPointPressed press 1 vel QVector2D(0, 0) start (711.68,349.62) last (711.68,349.62) delta (0,0))) tp打出来的值有点问题,是不是要把事件传给tp,不知道怎么传。
冷静忍耐 2015-12-16
  • 打赏
  • 举报
回复
引用 5 楼 brosh 的回复:
[quote=引用 4 楼 u013466477 的回复:] 这是个类,所有手操作的信息都在里面,它有函数可以获取位置和区域啊 TouchPoint::pos(); TouchPoint::lastPos(); TouchPoint::rect();
是啊,这个我也知道,但是遇到问题了,这个TouchPoint的头文件找不到啊,文档里面说要#include <TouchPoint>,可是没有这个TouchPoint可咋办,网上搜也搜不到,我是5.5版本的[/quote] 这么写吧,TouchPoint 这个应该是写在QTouchEvent里面的 QTouchEvent::TouchPoint touchPoint;
brosh 2015-12-16
  • 打赏
  • 举报
回复
引用 4 楼 u013466477 的回复:
这是个类,所有手操作的信息都在里面,它有函数可以获取位置和区域啊 TouchPoint::pos(); TouchPoint::lastPos(); TouchPoint::rect();
是啊,这个我也知道,但是遇到问题了,这个TouchPoint的头文件找不到啊,文档里面说要#include <TouchPoint>,可是没有这个TouchPoint可咋办,网上搜也搜不到,我是5.5版本的
冷静忍耐 2015-12-16
  • 打赏
  • 举报
回复
不好意思这是我写错了,你看qt帮助,索引搜索touchEvent里面的函数看看就知道了 QList<QTouchEvent::TouchPoint> tpList = touchEvent->touchPoints(); for(int i=0; i<tpList.size(); i++) { QTouchEvent::TouchPoint tp = tpList.at(i); }
brosh 2015-12-16
  • 打赏
  • 举报
回复
引用 8 楼 u013466477 的回复:
[quote=引用 7 楼 brosh 的回复:] [quote=引用 6 楼 u013466477 的回复:] [quote=引用 5 楼 brosh 的回复:] [quote=引用 4 楼 u013466477 的回复:] 这是个类,所有手操作的信息都在里面,它有函数可以获取位置和区域啊 TouchPoint::pos(); TouchPoint::lastPos(); TouchPoint::rect();
是啊,这个我也知道,但是遇到问题了,这个TouchPoint的头文件找不到啊,文档里面说要#include <TouchPoint>,可是没有这个TouchPoint可咋办,网上搜也搜不到,我是5.5版本的[/quote] 这么写吧,TouchPoint 这个应该是写在QTouchEvent里面的 QTouchEvent::TouchPoint touchPoint;[/quote] QTouchEvent::TouchPoint *tp; QTouchEvent *touchEvent = static_cast<QTouchEvent *>(e); qDebug()<<"event:"<<e; qDebug()<<"tp:"<<tp->rect(); qDebug()<<"tp:"<<tp->pos(); qDebug()<<"touchEvent:"<<touchEvent; event: QTouchEvent(TouchBegin states: TouchPointPressed, 1 points: (TouchPoint(0 (711.18,349.53 1x0.18) TouchPointPressed press 1 vel QVector2D(0, 0) start (711.68,349.62) last (711.68,349.62) delta (0,0))) tp: QRectF(1.79046e-307,1.80105e-307 1.80108e-307x1.80111e-307) tp: QPointF(2.691e-307,2.70161e-307) touchEvent: QTouchEvent(TouchBegin states: TouchPointPressed, 1 points: (TouchPoint(0 (711.18,349.53 1x0.18) TouchPointPressed press 1 vel QVector2D(0, 0) start (711.68,349.62) last (711.68,349.62) delta (0,0))) tp打出来的值有点问题,是不是要把事件传给tp,不知道怎么传。[/quote] event里的数值已经出来了,数值在touchPoints里。你得自己多看看touchEvent类 QTouchEvent::TouchPoint tp = touchEvent->touchPoints();[/quote] QTouchEvent *touchEvent = static_cast<QTouchEvent *>(e); QList<QTouchEvent::TouchPoint> tp = touchEvent->touchPoints(); 这样tp取不到参数 我C++基础不好啊,都是刚接触。
冷静忍耐 2015-12-16
  • 打赏
  • 举报
回复
引用 7 楼 brosh 的回复:
[quote=引用 6 楼 u013466477 的回复:] [quote=引用 5 楼 brosh 的回复:] [quote=引用 4 楼 u013466477 的回复:] 这是个类,所有手操作的信息都在里面,它有函数可以获取位置和区域啊 TouchPoint::pos(); TouchPoint::lastPos(); TouchPoint::rect();
是啊,这个我也知道,但是遇到问题了,这个TouchPoint的头文件找不到啊,文档里面说要#include <TouchPoint>,可是没有这个TouchPoint可咋办,网上搜也搜不到,我是5.5版本的[/quote] 这么写吧,TouchPoint 这个应该是写在QTouchEvent里面的 QTouchEvent::TouchPoint touchPoint;[/quote] QTouchEvent::TouchPoint *tp; QTouchEvent *touchEvent = static_cast<QTouchEvent *>(e); qDebug()<<"event:"<<e; qDebug()<<"tp:"<<tp->rect(); qDebug()<<"tp:"<<tp->pos(); qDebug()<<"touchEvent:"<<touchEvent; event: QTouchEvent(TouchBegin states: TouchPointPressed, 1 points: (TouchPoint(0 (711.18,349.53 1x0.18) TouchPointPressed press 1 vel QVector2D(0, 0) start (711.68,349.62) last (711.68,349.62) delta (0,0))) tp: QRectF(1.79046e-307,1.80105e-307 1.80108e-307x1.80111e-307) tp: QPointF(2.691e-307,2.70161e-307) touchEvent: QTouchEvent(TouchBegin states: TouchPointPressed, 1 points: (TouchPoint(0 (711.18,349.53 1x0.18) TouchPointPressed press 1 vel QVector2D(0, 0) start (711.68,349.62) last (711.68,349.62) delta (0,0))) tp打出来的值有点问题,是不是要把事件传给tp,不知道怎么传。[/quote] event里的数值已经出来了,数值在touchPoints里。你得自己多看看touchEvent类 QTouchEvent::TouchPoint tp = touchEvent->touchPoints();
冷静忍耐 2015-12-15
  • 打赏
  • 举报
回复
这是个类,所有手操作的信息都在里面,它有函数可以获取位置和区域啊 TouchPoint::pos(); TouchPoint::lastPos(); TouchPoint::rect();
brosh 2015-12-15
  • 打赏
  • 举报
回复
引用 2 楼 brosh 的回复:
[quote=引用 1 楼 u013466477 的回复:] 应该是没有现成的,自己可以实现一下 http://u.sbw.so/E http://www.cnblogs.com/sky1991/archive/2013/06/03/3114702.html
问一下 QTouchEvent里面有个TouchPoint,这个TouchPoint的参数是什么意思呢[/quote] 知道参数,前两个是坐标,第三个是面积,就是不知道如何提取出来了。
brosh 2015-12-15
  • 打赏
  • 举报
回复
引用 1 楼 u013466477 的回复:
应该是没有现成的,自己可以实现一下 http://u.sbw.so/E http://www.cnblogs.com/sky1991/archive/2013/06/03/3114702.html
问一下 QTouchEvent里面有个TouchPoint,这个TouchPoint的参数是什么意思呢
冷静忍耐 2015-12-15
  • 打赏
  • 举报
回复
应该是没有现成的,自己可以实现一下 http://u.sbw.so/E http://www.cnblogs.com/sky1991/archive/2013/06/03/3114702.html

16,211

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧