使用默认程序打开txt文件
Open txt file with default program
在我的程序中,我有一个按钮,我想打开相对目录中的文本文件。我使用的QDesktopServices是这样的:
QDesktopServices::openUrl(QUrl::fromLocalFile("file:///stuff/block_settings.txt"));
按下按钮时,什么也不会发生。
该文件位于名为"stuff"的文件夹中,与我的.exe位于同一位置。它与我所有其他任务使用的目录相同。
我做错了什么?
谢谢。
文件位于名为"东西";与我的.exe位于同一位置。它是用于我所有其他任务的同一目录。我做错了什么?
您的完整路径似乎过于复杂。我建议使用这个插件:
QString QCoreApplication::applicationDirPath()[static]
返回包含应用程序可执行文件的目录。
例如,如果您在C:\Qt目录中安装了Qt,并且运行regexp示例,则此函数将返回"C:/Qt/examples/tools/regexp";。
在Mac OS X上,这将指向实际包含可执行文件的目录,该目录可能位于应用程序捆绑包内(如果应用程序是捆绑的)。
警告:在Linux上,此函数将尝试从/proc文件系统获取路径。如果失败,则假定argv[0]包含可执行文件的绝对文件名。该函数还假定当前目录未被应用程序更改。
因此,您将编写以下代码:
QDesktopServices::openUrl(QString("%1/stuff/block_settings.txt")
.arg(QCoreApplication::applicationDirPath()));
我解决了这个问题。更改为:
QDesktopServices::openUrl(QUrl("file:stuff\block_settings.txt"));
不确定它是如何工作的,因为我在任何地方的教程中都没有看到这种配置,只有带
相关文章:
- 如何将 txt 文件中的行分隔为组件C++
- 无法打开.txt文件
- 如何使用CLion在Mac上创建一个新的.txt文件
- 使用fstream对txt文件中的数字进行循环
- Visual Studio在尝试读取resource.txt文件时崩溃
- 如何从txt文件中读取多个不同长度的数组?
- 在一次迭代中从 txt 文件中读取多行
- 通过比较C++中的行在 txt 文件中搜索的最简单方法是什么?
- 写入超过 1GB 的.txt文件时出现奇怪的行为
- 视觉 如何循环访问C++中遵循类似格式的多个.txt文件?
- txt 文件中浮点数的最大和最小值
- 从.txt文件中读取浮点型数字并在公式中使用它们
- C++将文本从.txt文件解析为变量
- 在树结构.txt文件中搜索节点
- 为什么我无法打开/读取从 Python 调用的 C 扩展名中的 txt 文件?
- 在 txt 文件中显示前两个数字的程序
- 如何从具有两列的.txt文件创建并行数组?
- 如何使用c ++读取带有非英文字母的*.txt文件?(国际化)
- 如何像在 C++ 中处理数组一样对 .txt 文件中的字符进行寻址?
- 如何读取 TXT 文件并仅将 int 存储在 C 中