qt /QML多语言实现步骤

1,打开qtcreator,打开你的工程。

2,在xxx.pro里面添加

TRANSLATIONS += \
    languages/lang_EN.ts \
    languages/lang_CN.ts
类似这样的语言

3,在你的工程目录下新建一个languages文件夹,方便放你的多语言文件。

4,点击qt creator 里面的工具,外部,qt语言家,第一个选项更新翻译,,然后会看到在languages文件下面有2个ts文件。

5,生成2个ts之后。用qt的Linguist 工具,打开刚才的ts文件,进行翻译。翻译完之后。点击保存。

6,在qt creator工具,外部,qt语言家,第二个选项,发布翻译。。。然后在languages文件夹下面多了2个qm文件。这2个qm文件就是最终的多语言文件。

7,如果后面你要在新增一个国家的多语言翻译。在你的XXX.pro文件里面新增一个xxx.ts就是。然后重复上面的步骤即可。

linux下发现生成不了,一开始我以为是打开qtcreator的权限问题,用的是普通的用户账号,后面我切换到root去打开qtcreator,在生成一次,发现还是不行,后面找到方法就是用命令行去生成


lupdate xxxxxx.pro,就会在你的配置的路径下生成2个ts文件,这2个ts文件可以在windows下去编辑保存,然后放到linux的虚拟机下,在执行下面的命令。就可以生成翻译文件。

lrelease language_EN.ts -qm language_EN.qm
lrelease language_CN.ts -qm language_CN.qm

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 QML实现一个应用程序需要进行以下步骤: 1. 编写 QML 文件:QML 是一种声明性语言,用于描述组件的外观和行为。通过编写 QML 文件,您可以创建一个包含各种界面元素的用户界面。 2. 创建 C++ 类并将其暴露到 QML:您可以编写 C++ 类来实现应用程序的逻辑,并将其暴露到 QML 中以便在 QML 中使用。 3. 在主函数中加载 QML 文件:在主函数中,您需要加载 QML 文件,并将其与 C++ 类及其方法关联起来。 下面是一个简单的例子: 1. 编写 QML 文件: ``` import QtQuick 2.0 Rectangle { width: 200 height: 200 color: "blue" Text { text: "Hello, world!" anchors.centerIn: parent } } ``` 2. 创建 C++ 类并将其暴露到 QML: ```cpp #include <QObject> class MyObject : public QObject { Q_OBJECT public: Q_INVOKABLE QString getMessage() const { return "Hello, world!"; } }; ``` 3. 在主函数中加载 QML 文件: ```cpp #include <QGuiApplication> #include <QQmlApplicationEngine> #include "myobject.h" int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QQmlApplicationEngine engine; MyObject myObject; engine.rootContext()->setContextProperty("myObject", &myObject); engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); return app.exec(); } ``` 在上面的代码中,我们创建了一个名为 `MyObject` 的 C++ 类,并将其暴露到 QML 中。然后我们在主函数中创建了一个 `MyObject` 实例,并将其设置为 QML 上下文的属性。最后,我们加载了 `main.qml` 文件。 这是一个非常简单的例子,但它演示了如何使用 QML 和 C++ 共同实现一个应用程序。您可以通过将更多的 QML 组件和 C++ 类添加到您的应用程序中来扩展它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值