gpt4 book ai didi

python - QFileDialog 打开两个对话框

转载 作者:行者123 更新时间:2023-12-01 05:58:31 26 4
gpt4 key购买 nike

我想将选定文件的位置存储为 Python 中的字符串。我正在尝试使用 QFileDialog 来完成此任务,我有:

self.filedialog = QtGui.QFileDialog(self)
self.filedialog.show()
filepath = str(self.filedialog.getOpenFileName())

这将打开两个 QFileDialog 窗口。有趣的是,其中一个窗口没有继承我的 GUI 的“样式”,设置了我的 setStyle,但确实返回文件路径字符串。另一个QFileDialog确实继承了样式,但不能返回文件路径字符串。我找到了QFileDialog documentation有帮助,但无法创建既生成文件路径字符串又继承我的 GUI 风格的 QFileDialog 框。我犯了什么错误?

最佳答案

您实际上创建了 2 个窗口。

函数QFileDialog.getOpenFileName是静态的,这意味着它创建自己的QFileDialog对象,显示窗口,等待用户选择文件并返回选择的文件文件名。

您应该只需要该行:

filepath = str(QFileDialog.getOpenFileName())

如果您在应用程序级别设置样式(使用QApplication.setStyle),则如果您使用非 native 对话框,它可能会应用于窗口:

filepath = str(QFileDialog.getOpenFileName(options=QFileDialog.DontUseNativeDialog)))

关于python - QFileDialog 打开两个对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11479109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com