gpt4 book ai didi

python - QFileDialog 上的取消按钮

转载 作者:行者123 更新时间:2023-11-30 22:31:36 26 4
gpt4 key购买 nike

我遇到了一个问题,当我选择不保存文件并单击系统窗口上的“取消”时,程序将崩溃。这是我收到的错误:

Traceback (most recent call last):
File "BasicEmail.py", line 166, in save_content
with open(file_name[0], 'w') as f:
FileNotFoundError: [Errno 2] No such file or directory: ''

这是我正在使用的代码:

def save_content(self):
file_name = QtWidgets.QFileDialog.getSaveFileName(self,'Save File',os.getenv('HOME'))
if file_name:
with open(file_name[0], 'w') as f:
my_text = self.content.toPlainText()
f.write(my_text)

提前谢谢您。我知道我一定错过了什么。

最佳答案

if file_name: 语句将始终为 True,因为 getSaveFileName() 函数始终返回一个元组,该元组具有以下结构: (filename,filters),最好获取名称并验证字符串不为空。

def save_content(self):
file_name, _ = QtWidgets.QFileDialog.getSaveFileName(self, 'Save File', os.getenv('HOME'))
if file_name != "":
with open(file_name, 'w') as f:
my_text = self.content.toPlainText()
f.write(my_text)

另外:您可以使用QtCore.QDir.homePath()代替os.getenv('HOME')

关于python - QFileDialog 上的取消按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45748290/

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