qt中如何禁止QWebEngineView拖拽
时间: 2024-05-04 08:18:35 浏览: 194
在Qt中,可以通过重载QWebEngineView的dragEnterEvent、dragMoveEvent和dropEvent这三个事件来实现禁止拖拽功能。具体的方法如下:
1. 重载dragEnterEvent和dragMoveEvent这两个事件,将Qt::IgnoreAction作为参数传递给QDragEnterEvent和QDragMoveEvent对象的setDropAction函数。
```
void MyWebEngineView::dragEnterEvent(QDragEnterEvent* event)
{
event->setDropAction(Qt::IgnoreAction);
event->accept();
}
void MyWebEngineView::dragMoveEvent(QDragMoveEvent* event)
{
event->setDropAction(Qt::IgnoreAction);
event->accept();
}
```
2. 重载dropEvent事件,将Qt::IgnoreAction作为参数传递给QDropEvent对象的setDropAction函数,并且调用父类的dropEvent事件。
```
void MyWebEngineView::dropEvent(QDropEvent* event)
{
event->setDropAction(Qt::IgnoreAction);
QWebEngineView::dropEvent(event);
}
```
重载这三个事件后,就可以禁止QWebEngineView的拖拽功能了。
阅读全文