Python 将外部文件拖放到QTreeWidget中
我猜QTreeWidget的实现并不完全相同,但我希望能够将外部文件,特别是图像或电影文件放到我的QTreeWidget中。我不想把它拖到一个特定的QTreeWidgetItem中,而只是把它作为一个整体。这是我的密码:Python 将外部文件拖放到QTreeWidget中,python,pyqt,drag-and-drop,pyside,qtreewidget,Python,Pyqt,Drag And Drop,Pyside,Qtreewidget,我猜QTreeWidget的实现并不完全相同,但我希望能够将外部文件,特别是图像或电影文件放到我的QTreeWidget中。我不想把它拖到一个特定的QTreeWidgetItem中,而只是把它作为一个整体。这是我的密码: class moTree(QTreeWidget): def __init__(self, parent): super(moTree, self).__init__(parent) self.setMouseTracking(True)
class moTree(QTreeWidget):
def __init__(self, parent):
super(moTree, self).__init__(parent)
self.setMouseTracking(True)
self.setAcceptDrops(True)
def dragEnterEvent(self, event):
if event.mimeData().hasUrls:
event.accept()
else:
event.ignore()
def dropEvent(self, event):
if event.mimeData().hasUrls:
for url in event.mimeData().urls():
#Handle stuff here
else:
event.ignore()
正在调用DragentEvent,但dropEvent没有调用,我得到了“blocked”图标。想知道为什么吗?您需要重新实现,以便它返回您想要支持的列表:
def mimeTypes(self):
return QtCore.QStringList([
'text/uri-list',
'application/x-qabstractitemmodeldatalist',
])