[英]Drag and drop from QTreeView to QListView with file copy in Qt5
我嘗試從Treeview(模板目錄)到Listview(項目目錄)進行拖放。 我讀到最好的解決方案是從Model實現mimeData()和dropMimeData()。 目前,我不知道要在函數中放入什么,而我的測試僅適用於拖動。
我將它們設置為:
樹視圖 :
列表顯示 :
如果拖動已經在起作用,則對於拖放,您應該重新實現接收QWidget的dragEnterEvent()和dropEvent()事件處理函數。
我以前做過這樣的事情。
void SomeClass::dragEnterEvent(QDragEnterEvent *e)
{
e->acceptProposedAction();
}
void SomeClass::dropEvent(QDropEvent *e)
{
//read mimeData() from QDropEvent
}
此處的文檔中有一個非常清晰的示例: http : //doc.qt.io/qt-5/dnd.html
PD。 正如我之前在評論中提到的,不要忘記將acceptDrops設置為true。
無需重新實現事件:
setAcceptDrops(true)足以進行拖放,並且文件自動復制。
我的第一個測試無法正常工作,但是經過重新編譯后情況會變得更好。 感謝幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.