将外部文件放入QTreeWidget
问题描述:
我猜QTreeWidget的实现并不完全相同,但我希望能够将外部文件,特别是图像或电影文件放入我的QTreeWidget中。我并没有试图将它拖入特定的QTreeWidgetItem,而是将其作为一个整体。这里是我的代码:将外部文件放入QTreeWidget
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()
dragEnterEvent被调用,但dropEvent不是,我得到'阻止'图标。任何想法为什么?
答
你需要重新实现QTreeWidget.mimeTypes,以便它返回要支持types的列表:
def mimeTypes(self):
return QtCore.QStringList([
'text/uri-list',
'application/x-qabstractitemmodeldatalist',
])