pyqt5文件拖放并获取文件信息
时间: 2023-09-10 17:01:29 浏览: 257
使用PyQt5可以实现文件拖放并获取文件信息的功能。下面是一个简单的实现过程:
1. 首先,我们需要导入PyQt5和QtCore模块:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtCore import Qt, QMimeData
```
2. 创建一个继承自QWidget的类,用于显示文件拖放功能:
```python
class FileDropWidget(QWidget):
def __init__(self):
super().__init__()
self.setAcceptDrops(True)
```
3. 重写QWidget的dragEnterEvent和dropEvent方法,以便实现文件拖入和获取文件信息的功能:
```python
def dragEnterEvent(self, event):
if event.mimeData().hasUrls():
event.acceptProposedAction()
def dropEvent(self, event):
if event.mimeData().hasUrls():
urls = event.mimeData().urls()
for url in urls:
file_path = url.toLocalFile()
# 获取文件路径
print('文件路径:', file_path)
# 获取文件名
print('文件名:', url.fileName())
# 获取文件大小
print('文件大小:', url.size())
```
4. 创建一个应用程序并运行:
```python
app = QApplication(sys.argv)
widget = FileDropWidget()
widget.setGeometry(300, 300, 300, 200)
widget.show()
sys.exit(app.exec_())
```
通过运行上述代码,我们就可以实现一个具有文件拖放并获取文件信息功能的窗口。当我们将文件拖放到窗口中时,窗口会显示文件的路径、名称和大小信息。
阅读全文