【发布时间】:2016-12-04 15:45:26
【问题描述】:
我想编写一个程序来自动测试不同屏幕尺寸的网络尺寸。我使用 QWebEngineView 创建窗口,我需要模拟用户鼠标单击并拖动网页中的放置元素。我尝试了 qApp->sendEvent 和 qApp->postEvent 但没有工作。
QMouseEvent *event1 = new QMouseEvent (QEvent::MouseButtonPress, point,
Qt::LeftButton,
Qt::LeftButton,
Qt::NoModifier);
qDebug() << qApp->sendEvent (driver, static_cast <QEvent *> ( event1 ) );
QMouseEvent *event2 = new QMouseEvent (QEvent::MouseButtonRelease, point,
Qt::LeftButton,
Qt::LeftButton,
Qt::NoModifier);
qDebug() << qApp->sendEvent (driver, static_cast <QEvent *> ( event2 ));
两个类都返回true,但网页中的事件没有被触发。我需要先关注视图吗?它没有父母,它是一个窗口。不再使用图形元素。 你能帮帮我吗?
Ps:我不想使用 javascript 因为:我无法使用 javascript 模拟点击来聚焦输入,它没有坐标来测试画布的拖放。
【问题讨论】:
标签: qt view click mouseevent qtwebengine