【发布时间】:2019-06-04 11:03:19
【问题描述】:
我想在 .pro 文件中添加我的翻译文件夹的路径,该路径可以从 C++/QML 部分访问,也可以在 .pro 文件中使用。
我遇到了 DEFINES+= 函数,并使其与数字 PI 的示例一起使用。可以使用 qDebug()
现在我有一个翻译文件夹,位于 .pro 文件上方两个目录,称为翻译。因此我尝试使用这样的东西:
DEFINES += "TRANSPATH=\"../../translations\""
但是当我尝试通过 qDebug 访问它时,我得到了错误 - 预期的主要表达 和 - “.”之前的预期不合格 id令牌
在我的 .pro 文件中,我也想访问 TRANSPATH,但像使用它一样
TRANSLATIONS += \
$$(TRANSPATH)/test_TEST.ts \
../../translations/de_DE.ts \
../../translations/zh_CN.ts
}
只会导致这个错误:
Updating '../../../../../../../test_TEST.ts'...
Found 63 source text(s) (63 new and 0 already existing)
Cannot create /test_TEST.ts: Zugriff verweigert
Updating '../../translations/de_DE.ts'...
Found 63 source text(s) (0 new and 63 already existing)
我试图在网上找到其他示例,但没有找到任何有用的东西。 在 TRANSLATIONS += 部分中,我将措辞更改为:
TRANSPATH/test_TEST.ts
{TRANSPATH}/test_TEST.ts
$$TRANSPATH/test_TEST.ts
$${TRANSPATH}/test_TEST.ts
但没有任何效果。这是我第一次尝试定义某些东西,也许我做错了?请帮忙
示例代码/.pro 文件:
# this file will be loaded from the main import path
MAIN_QML_FILE = main.qml
INCLUDEPATH += ./Plugins
INCLUDEPATH += ./qml
DEFINES += "PI=\"3.1415926\""
DEFINES += "TRANSPATH=\"../../translations\""
QT += core
# this is only seen by the linguist tools (lupdate)
lupdate_only{
SOURCES = \
../../qml/Widgets/SomeFiles/*.qml
TRANSLATIONS += \
$$(TRANSPATH)/test_TEST.ts \
../../translations/de_DE.ts \
../../translations/zh_CN.ts
}
TRANSPATH 应指向与 ../../translations/de_DE.ts 相同的文件夹 路径可以。该路径将从 C++ 重用于自定义 QTranslator 对象。
【问题讨论】: