我通过QWidget从QListView拖动QStandardItem。 在我的QWidget类中,我实现了dragEnterEvent和dropEvent:
void MyWidget::dragEnterEvent(QDragEnterEvent *event){
qDebug() << "drag entering: ";
}
void MyWidget::dropEvent(QDropEvent *event){
qDebug() << "drop received!";
}
它接收dragEntering,但不是drop。 我已经在QWidget类的构造函数中将 acceptDrops 设置为true。我错过了什么? 谢谢你的帮助!
答案 0 :(得分:1)
好吧,我终于得到了解决方案。
我不得不在widget类的dragEnterEvent中添加event->acceptProposedAction();
。
答案 1 :(得分:0)
另一个失败原因是错误的事件类型(复制和粘贴)。确保它们与事件处理程序匹配:
dragEnterEvent(QDragEnterEvent *event)
dragMoveEvent(QDragMoveEvent *event)
dropEvent(QDropEvent *event)