QT:转义斜线 / 在 mac 上保存位置
QT: Escape slash / in saving location on a mac
我有 HTML 输入我应该提取 2 个字符串,构建类型 <string 1> / <string 2
的文档标题字符串,从用户 mac 桌面上的源创建 PDF并按照说明命名。
我知道在文档名称中使用斜线并不是什么好主意,但这是我被要求做的。
问题是:正斜杠被解释为 mac 上的文件夹,而不是文档名称的一部分,这意味着 QPainter 无法打印为 PDF,因为它将 string1 /
解释为文件夹那不存在。
顺便说一句,省略 /
我的代码工作正常。
我该如何逃离 /
?
这是字符串构建逻辑:
QString docTitle;
docTitle.append(string1);
docTitle.append(" / ");
docTitle.append(string2);
在 OS X 上,API 级别的文件名称与在 Finder、打开和保存面板等中显示给用户的显示名称不同
在 API 级别,文件名 不能 包含斜杠。它们保留用于分隔路径中的名称。没有任何形式的转义或引用允许它。
但是,您可以创建一个文件,其名称将 显示,并在 UI.
中添加一个斜杠
基本上,斜杠 (/
) 和冒号 (:
) 字符互换角色。文件的显示名称不能包含冒号,因为它是保留的。 (这是 Classic Mac OS 中使用的旧 HFS 文件系统的保留。)因此,从 names-in-the-API 到显示名称的转换的一个方面是从冒号转换为斜线。因此,如果您想要一个显示名称带有斜线的文件,您实际上使用的是冒号。
根据 API 名称为 "Important legal document 06:13:2015.pdf" 的文件将在 UI 中显示为 "Important legal document 06/13/2015.pdf"。同样,如果用户在保存对话框或 Finder 中将文件命名为 "Important legal document 06/13/2015.pdf",它将以一个名称结束,当通过 API 观察时,该名称将是 "Important legal document 06:13:2015.pdf".
我有 HTML 输入我应该提取 2 个字符串,构建类型 <string 1> / <string 2
的文档标题字符串,从用户 mac 桌面上的源创建 PDF并按照说明命名。
我知道在文档名称中使用斜线并不是什么好主意,但这是我被要求做的。
问题是:正斜杠被解释为 mac 上的文件夹,而不是文档名称的一部分,这意味着 QPainter 无法打印为 PDF,因为它将 string1 /
解释为文件夹那不存在。
顺便说一句,省略 /
我的代码工作正常。
我该如何逃离 /
?
这是字符串构建逻辑:
QString docTitle;
docTitle.append(string1);
docTitle.append(" / ");
docTitle.append(string2);
在 OS X 上,API 级别的文件名称与在 Finder、打开和保存面板等中显示给用户的显示名称不同
在 API 级别,文件名 不能 包含斜杠。它们保留用于分隔路径中的名称。没有任何形式的转义或引用允许它。
但是,您可以创建一个文件,其名称将 显示,并在 UI.
中添加一个斜杠基本上,斜杠 (/
) 和冒号 (:
) 字符互换角色。文件的显示名称不能包含冒号,因为它是保留的。 (这是 Classic Mac OS 中使用的旧 HFS 文件系统的保留。)因此,从 names-in-the-API 到显示名称的转换的一个方面是从冒号转换为斜线。因此,如果您想要一个显示名称带有斜线的文件,您实际上使用的是冒号。
根据 API 名称为 "Important legal document 06:13:2015.pdf" 的文件将在 UI 中显示为 "Important legal document 06/13/2015.pdf"。同样,如果用户在保存对话框或 Finder 中将文件命名为 "Important legal document 06/13/2015.pdf",它将以一个名称结束,当通过 API 观察时,该名称将是 "Important legal document 06:13:2015.pdf".