为了方便,我们可以将文件直接拖到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即可。
网友评论