c++ - Qt 没有收到 QWidget::dropEvent

标签 c++ qt model-view-controller qlistview qstandarditemmodel

我将 QStandardItem 从 QListView 拖到 QWidget 上。 在我的 QWidget 类中,我实现了 dragEnterEvent 和 dropEvent:

void MyWidget::dragEnterEvent(QDragEnterEvent *event){
    qDebug() << "drag entering: ";
}

void MyWidget::dropEvent(QDropEvent *event){
    qDebug() << "drop received!";
}

它接收拖动输入,但不接收拖放。 我已经在 QWidget 类的构造函数中将 acceptDrops 设置为 true。我错过了什么? 感谢您的帮助!

最佳答案

好吧,我终于找到了解决方案。 我必须在小部件类的 dragEnterEvent 中添加 event->acceptProposedAction();

关于c++ - Qt 没有收到 QWidget::dropEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47016790/

相关文章:

java - 动态网页内置 jsp 到任何高级 java 框架

c++ - 为什么不能将 *pointer+offset 用作左值? ("error: non-lvalue in assignment")

c++ - 如何知道元素是否是 vector 中的最后一个元素使用 for(int i :myVector) code style?

c++ - 在 C++ 中从服务器读取二进制数据时清除缓冲区

c++ - 将过剩与 Qt 联系起来

asp.net-mvc - 如何仅更新 MVC 中已更改的模型属性?

c++ - 这种无锁的dlist插入安全吗?

c++ - Qt:showMaximized() 在 Windows 中不工作

C++ Qt - QTcpSocket 发出 readyRead() 但 canReadLine() 始终为 false

model-view-controller - 在 MVC/MVP/MVPC 中,您将业务逻辑放在哪里?