如何通过将其拖到PyQt5区域来下载Outlook邮件?

How can I download the Outlook mail by dragging it to PyQt5 area?

我正在学习pyqt5的拖放部分。 大多数文件在拖到pyqt的时候都能知道文件的路径。但是,无法找到实际路径,因为 .pst 文件中存在 Outlook 邮件的实际位置。 所以,在pyqt中将Outlook邮件拖放到特定布局时,我想将Outlook邮件下载到特定文件夹。

有没有更好的方法?或者你能给我建议吗?

请帮助我..!! (因为这个问题我整整3天没睡)

这张图就是我想要的。

这部分代码块是空的,我要补上面的

    def dragMoveEvent(self, event):
        if event.mimeData().hasUrls() or event.mimeData().hasFormat("FileContents"):
            event.setDropAction(Qt.CopyAction)
            event.accept()
        else:
            event.ignore()

    def dropEvent(self, event):
        if event.mimeData().hasFormat("FileContents"):
            event.setDropAction(Qt.CopyAction)
            event.accept()
            print(event.mimeData().text())

当您尝试从 Outlook 拖放时,Outlook 正确地将格式识别为虚拟文件 (CFSTR_FILEDESCRIPTORW),因为文件不直接存在于磁盘上。相反,它们包含在 PST 文件、OST 文件或 Exchange 服务器上。

在以下文章中详细了解 Outlook 中的拖放操作: