鱼C论坛

 找回密码
 立即注册
查看: 1772|回复: 3

[已解决]python 文件对话框

[复制链接]
发表于 2023-11-8 21:00:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

用pyside6做了一个界面程序,完成一些命令后,想要存储成txt文本形式。用户点击界面中'保存结果'这个按钮后,如果调用操作系统,弹出一个文件目录选择对话框?
就像使用word,excel那样,选择另存文件后,弹出来一个选择存储文件路径的对话框。
不知道为什么不能发截图?麻烦给位受累理解一下。


最佳答案
2023-11-8 21:01:29
您可以使用 QFileDialog 类来实现在PySide6中弹出文件选择对话框。以下是一个示例代码,演示如何在用户点击'保存结果'按钮后弹出文件选择对话框:
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QFileDialog

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("文件对话框示例")
        self.setGeometry(100, 100, 300, 200)

        self.button = QPushButton("保存结果", self)
        self.button.clicked.connect(self.showFileDialog)
        self.button.setGeometry(50, 50, 200, 100)

    def showFileDialog(self):
        options = QFileDialog.Options()
        options |= QFileDialog.DontUseNativeDialog  # 使用PySide6的文件对话框而不是操作系统的原生对话框

        fileName, _ = QFileDialog.getSaveFileName(self, "保存文件", "", "文本文件 (*.txt)", options=options)
        if fileName:
            print("选择的文件路径:", fileName)

app = QApplication([])
window = MyWindow()
window.show()
app.exec()

在上述代码中,我们创建了一个自定义的 MyWindow 类,其中包含一个名为 showFileDialog 的方法,该方法在用户点击按钮时被调用。在 showFileDialog 方法中,我们使用 QFileDialog.getSaveFileName 方法来显示文件选择对话框。您可以根据需要调整对话框的标题、过滤器以及其他选项。

当用户选择了一个文件路径后,该路径将被打印出来供您进一步处理。您可以将文件路径传递给相应的保存操作,以将结果保存为txt文件。

希望这可以帮助到您!如果您有任何其他问题,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-8 21:01:29 | 显示全部楼层    本楼为最佳答案   
您可以使用 QFileDialog 类来实现在PySide6中弹出文件选择对话框。以下是一个示例代码,演示如何在用户点击'保存结果'按钮后弹出文件选择对话框:
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QFileDialog

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("文件对话框示例")
        self.setGeometry(100, 100, 300, 200)

        self.button = QPushButton("保存结果", self)
        self.button.clicked.connect(self.showFileDialog)
        self.button.setGeometry(50, 50, 200, 100)

    def showFileDialog(self):
        options = QFileDialog.Options()
        options |= QFileDialog.DontUseNativeDialog  # 使用PySide6的文件对话框而不是操作系统的原生对话框

        fileName, _ = QFileDialog.getSaveFileName(self, "保存文件", "", "文本文件 (*.txt)", options=options)
        if fileName:
            print("选择的文件路径:", fileName)

app = QApplication([])
window = MyWindow()
window.show()
app.exec()

在上述代码中,我们创建了一个自定义的 MyWindow 类,其中包含一个名为 showFileDialog 的方法,该方法在用户点击按钮时被调用。在 showFileDialog 方法中,我们使用 QFileDialog.getSaveFileName 方法来显示文件选择对话框。您可以根据需要调整对话框的标题、过滤器以及其他选项。

当用户选择了一个文件路径后,该路径将被打印出来供您进一步处理。您可以将文件路径传递给相应的保存操作,以将结果保存为txt文件。

希望这可以帮助到您!如果您有任何其他问题,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-11-8 21:04:12 | 显示全部楼层
isdkz 发表于 2023-11-8 21:01
您可以使用 QFileDialog 类来实现在PySide6中弹出文件选择对话框。以下是一个示例代码,演示如何在用户点击 ...

你提供的这种方式感觉操作起来比较繁琐。
有没有更简洁的方式,调用操作系统的对话框呢?
大部分软件的文件对话框感觉都是统一用windows提供的那种
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-11-8 21:09:58 | 显示全部楼层
子飞鱼 发表于 2023-11-8 21:04
你提供的这种方式感觉操作起来比较繁琐。
有没有更简洁的方式,调用操作系统的对话框呢?
大部分软件的 ...

我操作了下你的代码,可以直接调用windows的文件对话框。谢谢,弄懂了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 03:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表