c++ - 使用 Qt creator 查找翻译目录

标签 c++ qt directory translation

我是Qt creator的新手,最近学习了如何使用Qt linguist。 当我想加载翻译时,我需要指定一个目录,这在我的计算机上不是问题。但是当我将这个 Qt 项目交给其他人时,目录发生了变化并且没有出现翻译。

我尝试使用不同的方法,例如 QDir::currentPath() 但它给了我包含应用程序的构建文件夹的路径。我需要访问的是项目所在的文件夹,其中包含已翻译的文件和已翻译的二进制文件(file_fr.qm、file_es.qm)。

预先感谢您的帮助:-)

最佳答案

解决方案:

为了获取可执行文件的路径,请使用此方法:

QCoreApplication::applicationDirPath()

示例:

您正在部署位于可执行路径的 lang 文件夹中的翻译文件:

const QString LANGPATH(QCoreApplication::applicationDirPath() + "/lang");
QTranslator *translator = new QTranslator(this);
translator->load("file_fr.qm", LANGPATH);
QCoreApplication::installTranslator(translator);

你的错误:

您使用的是 QDir::currentPath(),但其结果是当前工作目录,而不是包含您的可执行文件的目录。

关于c++ - 使用 Qt creator 查找翻译目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31936182/

相关文章:

c++ - firebreath npplugin 中的文件写入权限被拒绝

未绘制每个顶点的 C++ OpenGL 颜色

qt - 如何仅在单击 QMenu 对象时执行操作?

java - 创建带有扩展名的文件夹/容器但将其视为文件?

c# - 最终的 .NET 文件和目录实用程序库?

c# - 删除部分字符串

c++ - 如何从 C++ 中的当前日期返回两周以毫秒为单位的时间戳?

c++ - 如何在汇编级别分析 C++ 函数?

qt - 从全屏 Qt Quick 应用程序内部截取屏幕截图

linux - 我可以使用 Qt Creator 在 C 上进行非图形用户界面编程吗?