基于PyQt5写一段代码,要求点击按钮后可以弹出文件对话框,选择文件后把文件复制到相应的文件夹中
时间: 2024-04-30 15:22:23 浏览: 147
以下是基于PyQt5实现的代码,可以通过点击按钮打开文件对话框,选择文件后将其复制到指定的文件夹中。
```python
import sys
import os
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QFileDialog
class FileCopy(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('File Copy')
self.btn = QPushButton('Open', self)
self.btn.move(100, 70)
self.btn.clicked.connect(self.showDialog)
self.show()
def showDialog(self):
fname = QFileDialog.getOpenFileName(self, 'Open file', os.getenv('HOME'))
if fname[0]:
dest_dir = os.path.join(os.getenv('HOME'), 'Documents')
if not os.path.exists(dest_dir):
os.makedirs(dest_dir)
shutil.copy2(fname[0], dest_dir)
print('File copied to', dest_dir)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = FileCopy()
sys.exit(app.exec_())
```
在这个例子中,我们创建了一个名为`FileCopy`的QWidget类,其中包含一个按钮,用于打开文件对话框。`showDialog`方法使用`QFileDialog`类打开文件对话框,并将选择的文件复制到`Documents`文件夹中。如果该文件夹不存在,则创建该文件夹。
最后,我们创建一个`QApplication`对象并执行应用程序。
阅读全文