将外部文件放入QTreeWidg

2024-04-19 15:35:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我想QTreeWidget的实现并不完全相同,但我希望能够将一个外部文件,特别是图像或电影文件放入qtreewights中。我不是想把它拖到一个特定的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()  

正在调用dragEnterEvent,但dropEvent没有调用,我得到了“blocked”图标。有什么想法为什么?在


Tags: 文件selfeventtrueifinitdefelse
1条回答
网友
1楼 · 发布于 2024-04-19 15:35:18

您需要重新实现QTreeWidget.mimeTypes,以便它返回要支持的types的列表:

def mimeTypes(self):
    return QtCore.QStringList([
        'text/uri-list',
        'application/x-qabstractitemmodeldatalist',
        ])

相关问题 更多 >