Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将外部文件拖放到QTreeWidget中_Python_Pyqt_Drag And Drop_Pyside_Qtreewidget - Fatal编程技术网

Python 将外部文件拖放到QTreeWidget中

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)

我猜QTreeWidget的实现并不完全相同,但我希望能够将外部文件,特别是图像或电影文件放到我的QTreeWidget中。我不想把它拖到一个特定的QTreeWidgetItem中,而只是把它作为一个整体。这是我的密码:

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',
        ])