簡體   English   中英

Qt 沒有收到 QWidget::dropEvent

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM