当前位置: 代码迷 >> QT开发 >> qt 5.4 多点触摸无解了,该怎么解决
  详细解决方案

qt 5.4 多点触摸无解了,该怎么解决

热度:174   发布时间:2016-04-25 03:03:30.0
qt 5.4 多点触摸无解了
我要在一个在按钮的界面上实现触摸功能。界面上添加的一button.
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    this->setAttribute(Qt::WA_AcceptTouchEvents,true);
}
void MainWindow::on_pushButton_clicked()
{
    ui->label->setText("12323");
}
bool MainWindow::event(QEvent *e)
{
    switch (e->type()) {
       case QEvent::TouchBegin:
         ui->label->setText("qqq");
e->accept();
          break;
       case QEvent::TouchUpdate:
         ui->label->setText("aaaa");
        e->accept();

          break;
       case QEvent::TouchEnd:
    ui->label->setText("zzzz");

e->accept();

  break;

       default:
        //e->accept();
           break;
       }
       return QMainWindow::event(e);

}
这样的写法button正常,但是永远不会触发TouchUpdate,TouchEnd;如果这样写
 case QEvent::TouchBegin:
         ui->label->setText("qqq");
e->accept();
          retrun true;
那么界面上的button将不能点击。
这样就造成了滑动翻页。放大缩小都做不了。我在qt5.2还是好的,qt5.4就不行了。不知有没有什么地方设置错了
------解决思路----------------------
本帖最后由 foruok 于 2015-01-04 16:01:28 编辑
区分button的位置和widget内非button的区域,如果触点落在button所在区域,你就不要处理它;如果没落在button上,你就处理并return true。
  相关解决方案