我正在尝试使用QtWebkit和Google Maps.我遇到的问题是从QWebView调用C++插槽.QWebView中显示的页面是经过修改的Google Maps示例:
Google Maps JavaScript API v3 Example: Event Simple
maiWi是QMainWindow对象,它包含我要调用的插槽showList(),并且已添加到Javascript窗口对象中.
如果我使用属性onclick ="maiWi.showList()"向网页添加另一个元素,则会调用插槽并且一切都很顺利.但是,我想在点击地图标记时调用插槽.但是,标记似乎不响应QWebView中的单击事件.即使是注释掉的示例代码也不起作用.
在Chrome中,事件监听器被调用并完成它应该做的事情,但在QWebView中没有任何反应.
事实证明,我应该关闭地图标记的优化渲染.将optimized:false添加到标记声明时,事情开始起作用:
var marker = new google.maps.Marker({ position: map.getCenter(), map: map, optimized: false, title: 'test' });