【问题标题】:Qt lupdate in .pro file issue.pro 文件中的 Qt lupdate 问题
【发布时间】:2016-11-29 10:04:00
【问题描述】:

我不得不标记一些 .xml 文件以进行国际化。我不从 cmd 手动使用 lupdate,而是将它放在项目的 .pro 文件中,例如:

lupdate_only{
 SOURCES += $$EXTRA_XML
}

上面的代码工作得很好,但是你注意到我必须把 xml 文件放在 SOURCES 中。因此,.xml 文件出现在左侧 Projects 透视窗口的 Sources 虚拟文件夹中,就在 .cpp 文件旁边。我觉得这个解决方案有点讨厌和混乱。

- Project
- - Headers
- - Sources
- - - main.cpp
- - - some.xml //not wanted here

有没有办法在 .pro 中对不同的文件使用 lupdate,这样这些文件就不会出现在 Sources 文件夹中?谢谢!

更新 我使用 Qt Creator 4.0.3

【问题讨论】:

    标签: qt qt-creator qt-linguist


    【解决方案1】:
    lupdate_only {
        SOURCES += $$EXTRA_XML
    } 
    

    使用此条件语句,lupdate 工具会看到 .qml 文件,但 qmake 会忽略它。

    【讨论】:

    • lupdate_only 似乎是编译器的条件语句,但我认为问题出在 Qt Creator 上,它解析 .pro 文件并解释 SOURCES 变量
    • 在这种情况下,我能想到的唯一其他可能的解决方案是您制作一个单独的 .pro 文件,其中仅包含 lupdate_only { ... } 和 xml 文件。然后,您需要自己从命令行运行 lupdate,而 Qt Creator 使用另一个包含所有 C++ 头文件和源代码的 .pro 文件。
    • 这与从 cmd 运行 lupdate 几乎相同,但是您的回复让我想到将 lupdate 移动到 .pri 文件中,但它没有按预期工作,所以谢谢
    【解决方案2】:

    我找到了解决问题的方法,但我认为这是 Qt Creator 错误。我只是将 lupdate 语句及其内容移动到 .pri 文件中,现在 xml 文件没有出现在 Sources 虚拟文件夹下。 (.pri 文件包含在 .pro 中)

    【讨论】:

    • 很高兴你找到了一个可以接受的解决方案,我没想过使用 .pri
    猜你喜欢
    • 1970-01-01
    • 2016-07-09
    • 2016-11-03
    • 2021-03-18
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    相关资源
    最近更新 更多