打开下拉菜单后在QtWebEngine中触摸冻结

问题描述 投票:0回答:1

我在使用触摸屏时偶然发现了QtWebEngine问题。我可以通过触摸屏浏览所有网站,但是当我单击下拉菜单时(例如,在https://www.ebay.com/上单击搜索字段旁边的“所有类别”),触摸不再起作用(或1/30触摸)点击有效)。我仍然可以通过鼠标/键盘将其关闭。关闭下拉菜单后,再次触摸即可。

我创建了一个小的示例浏览器:

BrowserWidget::BrowserWidget(QWidget *parent)
    : QWidget(parent), ui(new Ui::BrowserWidget),
      m_webView(new QWebEngineView(this)), m_page(new QWebEnginePage(this)) {
  ui->setupUi(this);
  ui->verticalLayout->addWidget(m_webView);

  m_page->setUrl(QUrl(QStringLiteral("https://www.ebay.com/")));
  m_webView->setPage(m_page);

  m_webView->setAttribute(Qt::WA_AcceptTouchEvents);
  m_webView->installEventFilter(this);
}

bool BrowserWidget::eventFilter(QObject *watched, QEvent *e) {
  qDebug() << "event: " << e->type();

  if (e->type() == QEvent::ChildAdded) {
    QChildEvent *ce = static_cast<QChildEvent *>(e);
    if (ce && ce->child()) {
      ce->child()->installEventFilter(this);
    }
  }

  return false;
}

我将事件过滤器安装到QEvent::ChildAdded中的小部件上,以便进行更好的调试(以便观察更多事件)。>>

此行为总是可复制的,我不知道我做错了什么,因为我可以通过触摸操作浏览器。我还向子窗口小部件添加了Qt::WA_AcceptTouchEvents,但没有任何区别。

希望您能帮助我,谢谢!

我在使用触摸屏时偶然发现了QtWebEngine问题。我可以通过触摸屏浏览所有网站,但是当我单击下拉菜单时(例如https://www.ebay.com/ ...

qt drop-down-menu qt5 touch-event qtwebengine
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.