找回密码
 立即注册
收起左侧

无法接受QTouchEvent事件

3
回复
10102
查看
[复制链接]
累计签到:207 天
连续签到:1 天
来源: 2016-5-13 14:56:52 显示全部楼层 |阅读模式
1Qter豆
请教各位有没有用过QTouchEvent这个事件呢?我现在通过以下代码发现这个事件不被响应:
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    this->setFocus();
    this->setAttribute(Qt::WA_AcceptTouchEvents);
}

bool MainWindow::event(QEvent *event)
{
    switch (event->type())
    {
        case QEvent::TouchBegin:    qDebug()<<"1";
        case QEvent::TouchUpdate:
        case QEvent::TouchEnd:
        {
            QTouchEvent *touchEvent = static_cast<QTouchEvent *>(event);
            event->accept();
            break;
        }
        case QEvent::MouseButtonPress:qDebug()<<"111";
        default:
            break;
    }

    return QWidget::event(event);

触摸屏幕无法打印信息1“”;

回复

使用道具 举报

累计签到:12 天
连续签到:1 天
2016-5-17 20:30:52 显示全部楼层
试试在构造函数里加这一句 setAcceptTouchEvents(true);
回复

使用道具 举报

累计签到:207 天
连续签到:1 天
2016-5-24 08:26:59 显示全部楼层
renhm 发表于 2016-5-17 20:30
试试在构造函数里加这一句 setAcceptTouchEvents(true);

这句跟this->setAttribute(Qt::WA_AcceptTouchEvents);这个不是一样的吗?这个事件的支持需要修改驱动或是内核吗?我的是4.8.4
回复

使用道具 举报

累计签到:207 天
连续签到:1 天
2016-7-11 09:57:15 显示全部楼层
总结一下吧:
1.Qt4实现这个的话,需要改屏驱动,tslib
2.Qt5实现的话,可以不需要移植tslib但需要再Qt5移植的时候做相应的设置
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了