Qt多点触摸和手势问题

gxlijunbao 2012-08-15 09:51:06
大家好,我是在linux下,Qt/E+tslib,tslib是下的https://github.com/kergoth/tslib上的最新代码,Qt是官方4.8的版本,移植好后,单点触摸没问题,可是多点不行,貌似tslib不支持多点,我用的是支持多点的电容屏。
1、请问tslib是不是不支持多点?应该怎么样做Linux平台下Qt才能支持多点?
2、请问Qt要什么条件才支持手势?应该怎么样做?我跑了Qt自带的例子,修改成注册全部五个手势,可event函数里一个手势消息都没收到。

希望大侠们能指导一二,谢谢!!!
...全文
1758 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chrisforbt 2014-12-12
  • 打赏
  • 举报
回复
推荐你用qTUIO库,网上有教程,可以尝试下。
digia_zxx 2012-09-18
  • 打赏
  • 举报
回复
1、请问tslib是不是不支持多点?应该怎么样做Linux平台下Qt才能支持多点?
tslib只实现了单点。
若要实现多点则:
(1)需要相应的驱动。multi-touch相关协议在kernel/Documents中有。
(2)修改中间件(修改tslib或者拿其他相关软件改)
(3)修改Qt的源码。
digia_birdman 2012-09-18
  • 打赏
  • 举报
回复
需要自己实现一个qt和多点驱动之间的中间件。
当然,最重要的是要驱动支持多点触摸~
  • 打赏
  • 举报
回复
额。
1 这个首先你的硬件要支持
2 需要改一部分Qt源码。
xiaobinl989 2012-08-24
  • 打赏
  • 举报
回复
同问!!!帮楼主顶一下。
jjyy129999 2012-08-24
  • 打赏
  • 举报
回复
setAttribute(Qt::WA_AcceptTouchEvents); 这句你应该加了的。


bool MainWindow::event ( QEvent * event )
{

switch (event->type()) {
case QEvent::TouchBegin:
case QEvent::TouchUpdate:
case QEvent::TouchEnd:
{
QTouchEvent *touchEvent = static_cast<QTouchEvent *>(event);
//pointUpdate是我的函数,看下touchEvent->touchPoints()里有几个触控点就知道底层是否支持了。
pointUpdate(touchEvent->touchPoints());

event->accept();
break;
}
default:
break;
}

return QWidget::event(event);

}

如果支持多点的话手势我是自己实现的,用不了多长时间 。因为看了系统提供的接口,觉得还是自己实现一下更好用。丰衣足食啊

16,816

社区成员

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

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