PYQT5 (十八)文件拖放(drag and drop)并获取
2018-12-09 本文已影响441人
弗兰克万岁
通过重写QScrollArea 类实现的文件拖拽操作
class MyScrollWidget(QtWidgets.QScrollArea):
def __init__(self,parent=None):
super().__init__(parent)
self.setAcceptDrops(True)
def dragEnterEvent(self, event):
if event.mimeData().hasUrls:
event.accept()
else:
event.ignore()
def dragMoveEvent(self, event):
if event.mimeData().hasUrls:
try:
event.setDropAction(Qt.Qt.CopyAction)
except Exception as e:
print(e)
event.accept()
else:
event.ignore()
def dropEvent(self, event):
try:
if event.mimeData().hasUrls:
event.setDropAction(Qt.Qt.CopyAction)
event.accept()
links = []
for url in event.mimeData().urls():
links.append(str(url.toLocalFile()))
print(links)
else:
event.ignore()
except Exception as e:
print(e)```