我抓住mouseMoveEvent
的{{1}}来重新启动屏幕保护程序的计时器。问题是现在QWebView
没有分配给HTML元素,所以例如在页面上移动滑动条是不可能的。
我使用connect将mouseMoveEvent
绑定到重启槽:
mouseMoveEvent
WebView类:
QObject::connect(_view, SIGNAL(mouseMoveEvent(QMouseEvent*)), _mediaPlayer, SLOT(stop()));
是否有解决方案仍能捕获信号并将其传递给HTML页面?
答案 0 :(得分:2)
mouseMoveEvent
不是信号,而是事件处理程序。您可以重新实现此事件处理程序,并在需要时发出可以连接的信号。
像这样:
MyWebView::mouseMoveEvent(QMouseEvent * e) {
emit mouseMoved(); // this would be signal you could connect to.
}
答案 1 :(得分:2)
似乎你误解了事件处理程序并发出信号用法。
mouseMoveEvent 是QWidget的成员方法,不是信号,因此您无法连接到它。您可以在子类中覆盖它并发出自己的信号。
如果关闭QWidget的鼠标跟踪,只有在移动鼠标时按下鼠标按钮才会发生鼠标移动事件。也许你需要打电话给 setMouseTracking 。