在PySide6中,你可以使用QFileDiolog
来选择文件,然后将选定的图片和文本文件分别保存到指定的不同文件夹下。
以下是一个示例代码片段,展示了如何实现这个功能:
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QFileDialog
import shutil
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("File Saving Example")
# 创建按钮并连接槽函数
self.button = QPushButton("Select Files", self)
self.button.clicked.connect(self.save_files)
def save_files(self):
# 打开文件对话框选择要保存的文件
file_dialog = QFileDialog()
file_dialog.setFileMode(QFileDialog.ExistingFiles)
if file_dialog.exec():
files = file_dialog.selectedFiles()
# 指定保存图片和文本的目标文件夹路径
image_folder = "path/to/image/folder"
text_folder = "path/to/text/folder"
for file in files:
# 获取文件名和扩展名
file_name = file.split("/")[-1]
ext = file.split(".")[-1]
# 判断文件类型并根据需求保存到不同的目标文件夹
if ext.lower() in ["jpg", "png", "jpeg"]:
dest_path = f"{image_folder}/{file_name}"
shutil.copy(file, dest_path) # 复制图片文件
elif ext.lower() == "txt":
dest_path = f"{text_folder}/{file_name}"
shutil.copy(file, dest_path) # 复制文本文件
if __name__ == "__main__":
app = QApplication([])
window = MainWindow()
window.show()
app.exec()
在这个示例中,我们创建了一个主窗口,并添加了一个按钮。当点击按钮时,会弹出文件对话框,选择要保存的文件。
你需要修改image_folder
和text_folder
变量为你想要保存图片和文本的目标文件夹路径。根据文件的扩展名,使用shutil.copy()
函数将选定的图片和文本文件复制到相应的目标文件夹下。
请注意,在运行代码之前,请确保指定的目标文件夹已经存在。如果不存在,你可以使用os.makedirs()
来创建目标文件夹。
希望这个示例能帮助到你!如有其他问题,请随时提问。
内容由零声教学AI助手提供,问题来源于学员提问