如何使用 QFileDialog 选项并检索 saveFileName?

2024-02-07

我正在尝试使用 QFileDialog 提示用户提供文件名和保存文本文件的位置。我尝试了 QtGui.QFileDialog.getSaveFileName,但我对使用某些选项感兴趣,例如设置默认后缀,以及启用保存文件对话框的详细信息视图,据我所知,这不是可以单独使用 getSaveFileName 来做到这一点。每当我设置这些时, getSaveFileName 对话框就会忽略它们。

所以,我最终得到了这样的结果:

dlg=QtGui.QFileDialog( self )
dlg.setWindowTitle( 'Print Things' )
dlg.setViewMode( QtGui.QFileDialog.Detail )
dlg.setNameFilters( [self.tr('Text Files (*.txt)'), self.tr('All Files (*)')] )
dlg.setDefaultSuffix( '.txt' )
if dlg.exec_() :
    print dlg

但是,现在我不确定如何获取用户传递的文件名?如果我打印 dlg.getSaveFileName,它只会弹出另一个保存文件对话框。有人知道如何做到这一点,同时仍然将所有选项传递给我希望受到尊重的 QFileDialog 吗?


不需要创建对象QFileDialog因为它提供了四种静态方法,可以根据您的需要使用。

1) QFileDialog.getExistingDirectory(...)
2) QFileDialog.getOpenFileName(...)
3) QFileDialog.getOpenFileNames(...)
4) QFileDialog.getSaveFileName(...)

根据你的需要,你需要第四个。您还可以为此函数提供默认文件扩展名的参数。您可以将其用作:

fileName = QtGui.QFileDialog.getSaveFileName(self, 'Dialog Title', '/path/to/default/directory', selectedFilter='*.txt')
if fileName:
    print fileName

您可以离开/path/to/default/directory如果您不知道用户可以将文件保存在哪个目录中,则为空字符串。

现在,当用户在输入文件名(不带文件扩展名)后单击对话框上的“保存”按钮时,此方法将返回文件路径,后跟.txt扩大。

有关更多信息QFileDialog.getSaveFileName()可以被找寻到here http://qt-project.org/doc/qt-4.8/qfiledialog.html#getSaveFileName

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 QFileDialog 选项并检索 saveFileName? 的相关文章

  • Python 3 os.urandom

    在哪里可以找到完整的教程或文档os urandom 我需要获得一个随机 int 来从 80 个字符的字符串中选择一个字符 如果你只需要一个随机整数 你可以使用random randint a b 来自随机模块 http docs pytho
  • Sublime Text 插件开发中的全局 Python 包

    一 总结 我不知道 Sublime Text 插件开发人员如何使用 Sublime Text 查找全局 Python 包 而不是 Sublime Text 目录的 Python 包 Sublime Text使用自己的Python环境 而不是
  • 使用 pygame 显示 unicode 符号

    我检查了其他答案 但不明白为什么我的代码错误地显示 This is what I currently see https i stack imgur com 8tNIK png 这是关于文本渲染的相关代码 font pygame font
  • 用缺失的日期填充其他列 Nan Pandas DataFrame

    我实际上是从几个 Excel 文件中提取数据来监控我的每日卡路里摄入量 我设法使用列表理解来生成日期 我尝试使用合并或连接 但它不起作用 ValueError 您正在尝试合并对象和 float64 列 date list 2021 05 2
  • Python 中的流式传输管道

    我正在尝试使用 Python 将 vmstat 的输出转换为 CSV 文件 因此我使用类似的方法转换为 CSV 并将日期和时间添加为列 vmstat 5 python myscript py gt gt vmstat log 我遇到的问题是
  • 在没有模型的情况下将自定义页面添加到 django admin

    我正在尝试在没有模型关联的情况下向管理员添加自定义页面 这就是我迄今为止所取得的成就 class MyCustomAdmin AdminSite def get urls self from django conf urls import
  • 如何在 Python 中加密并在 Java 中解密?

    我正在尝试在 Python 程序中加密一些数据并将其保存 然后在 Java 程序中解密该数据 在Python中 我像这样加密它 from Crypto Cipher import AES KEY 1234567890123456789012
  • 如何使用文本相似性删除 pandas 数据框中相似(不重复)的行?

    我有数千个数据 这些数据可能相似也可能不相似 使用 python 的默认函数 drop duplicates 并没有真正的帮助 因为它们只检测相似的数据 例如 如果我的数据包含类似以下内容怎么办 嗨 早上好 嗨 早上好 Python 不会将
  • 一段时间后终止线程的最 Pythonic 方法

    我想在线程中运行一个进程 它正在迭代一个大型数据库表 当线程运行时 我只想让程序等待 如果该线程花费的时间超过 30 秒 我想终止该线程并执行其他操作 通过终止线程 我的意思是我希望它停止活动并优雅地释放资源 我认为最好的方法是通过Thre
  • Gspread如何复制sheet

    在 Stackoverflow 上进行谷歌搜索和搜索后 我想我找不到有关如何复制现有工作表 现有模板工作表 并将其保存到另一个工作表中的指南 根据文档 有重复表 https gspread readthedocs io en latest
  • 从扫描文档中提取行表 opencv python

    我想从扫描的表中提取信息并将其存储为 csv 现在我的表提取算法执行以下步骤 应用倾斜校正 应用高斯滤波器进行去噪 使用 Otsu 阈值进行二值化 进行形态学开局 Canny 边缘检测 进行霍夫变换以获得表格行 去除重复行 10像素范围内相
  • Django 的 request.FILES 出现 UnicodeDecodeError

    我在视图调用中有以下代码 def view request body u for filename f in request FILES items body body Filename filename n f read n 在某些情况下
  • .pyx 文件出现未知文件类型错误

    我正在尝试构建一个包含 pyx 文件的 Python 包 pyregion 但在构建过程中出现错误 检查以下输出 python setup py build running build running build py creating b
  • 使用Python计算目录的大小?

    在我重新发明这个特殊的轮子之前 有没有人有一个很好的例程来使用 Python 计算目录的大小 如果例程能够很好地以 Mb Gb 等格式格式化大小 那就太好了 这会遍历所有子目录 总结文件大小 import os def get size s
  • Mac OSX 10.6 上的 Python mysqldb 不工作

    我正在使用 Python 2 7 并尝试让 Django 项目在 MySQL 后端运行 我已经下载了 mysqldb 并按照此处的指南进行操作 http cd34 com blog programming python mysql pyth
  • SocketIO + Flask 检测断开连接

    我在这里有一个不同的问题 但意识到它可以简化为 如何检测客户端何时从页面断开连接 关闭其页面或单击链接 换句话说 套接字连接关闭 我想制作一个带有更新用户列表的聊天应用程序 并且我在 Python 上使用 Flask 当用户连接时 浏览器发
  • Elasticsearch 通过搜索返回拼音标记

    我用语音分析插件 https www elastic co guide en elasticsearch plugins current analysis phonetic html由于语音转换 从弹性搜索中进行一些字符串匹配 我的问题是
  • 如何与其他用户一起使用 pyenv?

    如何与其他用户一起使用 pyenv 例如 如果我在用户 test 的环境中安装了 pyenv 则当我以 test 身份登录时可以使用 pyenv 但是 当我以其他用户 例如 root 身份登录时如何使用 pyenv 即使你这么做了 我也会s
  • 从 pandas DataFrame 中删除少于 K 个连续 NaN

    我正在处理时间序列数据 我在从数据帧列中删除小于或等于阈值的连续 NaN 时遇到问题 我尝试查看一些链接 例如 标识连续 NaN 出现的位置以及计数 Pandas NaN 孔的游程长度 https stackoverflow com que
  • 使用ssl和socket的python客户端身份验证

    我有一个 python 服务器 需要客户端使用证书进行身份验证 我如何制作一个客户端脚本 使用客户端证书由 python 中的服务器使用 ssl 和套接字模块进行身份验证 有没有仅使用套接字和 ssl 而不扭曲的示例 from OpenSS

随机推荐

  • Makefile 中的函数

    我正在编写一个包含很多重复内容的 Makefile 例如 debug ifort Linux if UNAME Linux then MAKE FC ifort FFLAGS difort PETSC FFLAGS TARGET LEXT
  • IE8浏览器模式与文档模式

    谁能解释一下 IE8 和 IE8 之间的区别浏览器模式 and 文档模式简单来说 是什么导致浏览器模式发生变化 是什么导致文档模式改变 如果用户通过开发人员工具更改模式 即使刷新页面 更改是否仍然存在 我问这个问题是因为我们正在这里做一些
  • 使用输入 fn 在 Tensorflow 估计器中进行预测

    我使用来自的教程代码https github com tensorflow tensorflow blob r1 3 tensorflow examples learn wide n deep tutorial py https githu
  • XML - 将属性反序列化为 Xml 子树

    当我反序列化 xml 字符串时 我需要在名为prop2 My XML
  • R 中的字符串操作:删除多个位置的特定模式,而不删除模式实例之间的文本

    在 R 中 我尝试编写适用于字符串模式的任何改编的代码 字符串的一个例子是 string lt y 1 a b c d 2 e 1 f g 我只想删除包含 模式的部分 例如 b c 和 1 f 并留下 y 1 a d 2 e g 请注意 字
  • 在匹配元素处划分列表的 Pythonic 且有效的方法是什么?

    这非常类似于Python 根据条件拆分列表 https stackoverflow com questions 949098 python split a list based on a condition并且https nedbatche
  • 为 NSTableView 中的行着色

    我想要做的是当单击 I 按钮时设置 NSTableView 中所选行的背景颜色 我见过人们使用过的其他案例tableView willDisplayCell forTableColumn row and setBackgroundColor
  • Elasticsearch - 维护文档历史记录

    我是 Elasticsearch 的新手 有一个非常基本的问题要问 我计划使用 Elasticsearch 作为文档存储 并且在存储文档时 我的要求之一是维护历史数据 因此 我可以成功地将文档发布到 Elasticsearch 但是当我发布
  • Perl 中哈希数组树的路径列表

    我有一系列路径 C A C B C D AB 我希望将它们放在哈希数组树中 这样我就可以在 TT2 模板中遍历它们 我的意思是这样的 dirs name gt C subs gt name gt A subs gt name gt B su
  • 在 Android Studio 中使用 NDK、Gradle 和 CMake 链接外部库

    经过一段时间的间隔后 我又回到了 Android 开发 我的旧的基于 ANT 的构建链似乎不再与最新的 SDK 一起运行 这是一个单独的问题 所以我尝试以新的方式做事 这是基于gradle 和 CMake 我的项目需要许多预构建的静态和动态
  • 使用自定义文件格式创建 TensorFlow 数据集

    我正在尝试创建一个 tf data Dataset 其中文件名映射到深度图像 我的图像保存为原始二进制文件 每个文件 320 240 4 字节 图像为 320x240 像素 用 4 个字节表示一个像素 我无法弄清楚如何创建一个解析函数 该函
  • 更改 MariaDB 中的列名称

    我在这个数据库中有此列 其中包含空格键 我想更改它 ALTER TABLE CHANGE COLUMN Anzahl Personen AnzahlPersonen int 11 在命令行中使用此行后 输出如下 ERROR 1064 420
  • 使用敏感设置信息部署到 Heroku

    我使用 GitHub 来存储代码 使用 Heroku 作为 Rails 应用程序的部署平台 我不想在 Git 下保存敏感数据 此类数据包括数据库文件设置 database yml 和一些具有秘密 API 密钥的其他文件 当我部署到herok
  • 从命令行查找并替换 unix

    我有一个多行文本文件 其中每行都有格式 Game 29832 我想将字符 1 附加到每行的每个数字 每行都不同 有谁知道如何从命令行执行此操作 Thanks sed i e s Game 0 9 1 file i用于就地编辑 并且 表示与模
  • 在 NodeJS 中对 SAML2 请求进行数字签名

    我想要对以下 SAML 请求进行数字签名
  • 在服务器套接字java中从客户端获取数据

    我正在创建一个执行以下任务的服务器应用程序 接受客户端的连接 将每个客户端连接处理到单独的线程 接收来自客户端的数据 发送数据给客户端 我能够连接客户端 但无法从客户端接收数据 仅当该客户端断开连接时 数据才在我的控制台中可见 Code p
  • 自动终止 mysql 睡眠进程的 Shell 脚本

    我们如何杀死 mysql 睡眠进程 例如 Id User Host db Command Time State Info
  • php echo 和 return 在 jQuery ajax 调用方面的区别[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我在使 jQuery Ajax 调用
  • 如何验证日期不是 .net c# 中的未来日期

    只是徘徊 我如何验证该日期不是 net c 中的未来日期 Example 我已在那里应用了验证以进行所需的字段验证 但不知何故 我不知道如何应用验证来检查开始日期 以确保它不是未来日期 日期不大于当前日期 tr td align right
  • 如何使用 QFileDialog 选项并检索 saveFileName?

    我正在尝试使用 QFileDialog 提示用户提供文件名和保存文本文件的位置 我尝试了 QtGui QFileDialog getSaveFileName 但我对使用某些选项感兴趣 例如设置默认后缀 以及启用保存文件对话框的详细信息视图