Qt5.9.0 Qwebengineview加载地图,触屏无法拖动怎么办
时间: 2023-10-07 22:04:02 浏览: 221
如果您在使用Qt5.9.0中的QWebEngineView加载地图时,触摸无法拖动,请尝试以下方法:
1. 确认是否正确设置了viewport的大小:
```python
self.webEngineView.setViewportSize(self.webEngineView.size())
```
2. 尝试在加载地图之前设置以下属性:
```python
self.webEngineView.settings().setAttribute(QWebEngineSettings.TouchIconsEnabled, True)
self.webEngineView.settings().setAttribute(QWebEngineSettings.TouchEnabled, True)
```
3. 如果仍然无法拖动,请尝试将以下代码添加到你的QWebEngineView对象的mousePressEvent方法中:
```python
self.webEngineView.mousePressEvent = self.onMousePressEvent
def onMousePressEvent(self, event):
if event.button() == QtCore.Qt.LeftButton:
self.dragPos = event.globalPos()
event.accept()
def onMouseMoveEvent(self, event):
if event.buttons() == QtCore.Qt.LeftButton:
self.move(self.pos() + event.globalPos() - self.dragPos)
self.dragPos = event.globalPos()
event.accept()
```
以上是一些可能解决触屏拖动地图的方法,您可以根据您的代码和环境进行调整和尝试。如果仍然无法解决问题,您可以尝试升级到Qt5.9.1或更高版本,因为Qt5.9.0版本存在一些已知的问题。
阅读全文