[英]Qt not receiving QWidget::dropEvent
我將 QStandardItem 從 QListView 拖到 QWidget 上。 在我的 QWidget 類中,我實現了 dragEnterEvent 和 dropEvent:
void MyWidget::dragEnterEvent(QDragEnterEvent *event){
qDebug() << "drag entering: ";
}
void MyWidget::dropEvent(QDropEvent *event){
qDebug() << "drop received!";
}
它接收dragEntering,但不接收drop。 我已經在 QWidget 類的構造函數中將acceptDrops設置為 true 。 我錯過了什么? 感謝幫助!
嗯,我終於得到了解決方案。 我不得不添加event->acceptProposedAction();
在小部件類中的 dragEnterEvent 中。
另一個失敗的原因是不正確的事件類型(復制和粘貼)。 確保它們匹配事件處理程序:
dragEnterEvent(QDragEnterEvent *event)
dragMoveEvent(QDragMoveEvent *event)
dropEvent(QDropEvent *event)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.