pyqt5 如何实现将拖到QLineEdit上文件的路径设置为控件的显示文本
时间: 2024-02-23 21:01:22 浏览: 172
数据文本转换器,可完成对文本文档(.txt)、CSV文档、Excel文档的格式转换!
可以通过QLineEdit的dragEnterEvent和dropEvent事件来实现将拖到QLineEdit上的文件路径设置为控件的显示文本。
首先要在QLineEdit的构造函数中启用拖放功能:
```python
self.setAcceptDrops(True)
```
然后重写dragEnterEvent和dropEvent事件:
```python
def dragEnterEvent(self, event):
if event.mimeData().hasUrls():
event.accept()
else:
event.ignore()
def dropEvent(self, event):
if event.mimeData().hasUrls():
url = event.mimeData().urls()[0]
file_path = url.toLocalFile()
self.setText(file_path)
event.accept()
else:
event.ignore()
```
在dragEnterEvent事件中判断拖拽的数据是否包含文件路径,如果是则接受拖放事件,否则忽略。
在dropEvent事件中获取拖放的文件路径并设置为QLineEdit的显示文本,然后接受拖放事件。
阅读全文