【Python】拖拽文件的实现

2020-07-15  本文已影响0人  Blue_Well

为了方便,我们可以将文件直接拖到QLineEdit或者其他控件中来获取文件路径,这样就不需要实现Button,还要一步步打开文件路径,效率比较低。
实现拖拽文件的步骤如下:
首先我们需要先将控件设置成下图的属性(一般不需要设置,默认是打开的)。

然后新建"MyWidget.py"文件,重写相应控件的类。

from PyQt5.QtWidgets import QLineEdit

class MyQLineEdit(QLineEdit):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setAcceptDrops(True)

    def dragEnterEvent(self, file):
        file.accept()

    def dropEvent(self, file):
        filePath = file.mimeData().text().replace('file:///', '')
        self.setText(filePath)

最后,在QT Designer中新建"Promote"。

输入类名和头文件名,这里的类名和头文件要和之前新建的.py文件名和重写的类名一致。

重新点击控件,右键选择下图的选项,如果其他同类的控件也需要这个功能,也可设置。

完成以上步骤后,重新加载UI即可。

上一篇下一篇

猜你喜欢

热点阅读