当前位置: 首页 > news >正文

做网站官网湖南网站推广公司

做网站官网,湖南网站推广公司,幼儿园网站怎样建设,one dirve做网站一.目的 在做项目时,有时希望我们的程序可以在不同的国家使用,这样最好的方式是一套程序能适应于多国语言。 Qt提供了这样的功能,使得一套程序可以呈现出不同的语言界面。本文将介绍QT如何实现多语言,以中文和英文为例。 QT开发…

一.目的

在做项目时,有时希望我们的程序可以在不同的国家使用,这样最好的方式是一套程序能适应于多国语言。

Qt提供了这样的功能,使得一套程序可以呈现出不同的语言界面。本文将介绍QT如何实现多语言,以中文和英文为例。

QT开发环境:QT5.12

二.步骤

1.第一步

  新建一个项目工程,在pro文件中添加下面的语句:

TRANSLATIONS += \

    language_en_AS.ts \

    language_zh_AS.ts

这样最终可以生成适用于汉语和英语的ts文件。

2.第二步

然后点击工具-》外部-》语言家-》更新翻译(lupdate)。即使用lupdate工具,生成pro文件中添加的ts文件。

生成这两个ts文件:

3.点击电脑开始菜单,在出现的应用程序列表栏找到Qt安装文件夹,找到Linguist,选择适合自己的Linguist工具,双击打开:

选择需要翻译的ts文件:

确保都是绿色√:

均完成后“文件菜单”内选择保存,发布,会生成qm文件如下路径内:

注意:

如果本身就是中文,目标也是中文,翻译内的部分不用填写,如下:

4.在exe文件所在目录下新建文件夹translator,并将生成的两个qm文件移入

二.代码实现

1.mainwindow.h

#ifndef MAINWINDOW_H

#define MAINWINDOW_H

#include <QMainWindow>

#include <QTranslator>

QT_BEGIN_NAMESPACE

namespace Ui { class MainWindow; }

QT_END_NAMESPACE

class MainWindow : public QMainWindow

{

    Q_OBJECT

public:

    MainWindow(QWidget *parent = nullptr);

    ~MainWindow();

private slots:

    void on_pushButton_clicked();

    void on_pushButton_2_clicked();

    void on_pushButton_3_clicked();

private:

    Ui::MainWindow *ui;

    QTranslator m_tran;

};

#endif // MAINWINDOW_H

2.mainwindow.cpp

#include "mainwindow.h"

#include "ui_mainwindow.h"

#include <QTranslator>

#include <QDebug>

MainWindow::MainWindow(QWidget *parent)

    : QMainWindow(parent)

    , ui(new Ui::MainWindow)

{

    ui->setupUi(this);

    ui->textEdit->setText(tr("多语言切换功能"));

}

MainWindow::~MainWindow()

{

    delete ui;

}

void MainWindow::on_pushButton_clicked() //中文

{

    QString strPath = QCoreApplication::applicationDirPath(); //exe文件路径

    bool bSuccess =m_tran.load(strPath + "/translator/language_zh_AS.qm");

    if(bSuccess)

    {

        qApp->installTranslator(&m_tran);

        ui->retranslateUi(this);

    }

    else

    {

        qDebug()<<tr("读取qm文件失败");

    }

}

void MainWindow::on_pushButton_2_clicked()  //英文

{

    QString strPath = QCoreApplication::applicationDirPath(); //exe文件路径

    bool bSuccess =m_tran.load(strPath + "/translator/language_en_AS.qm");

    if(bSuccess)

    {

        qApp->installTranslator(&m_tran);

        ui->retranslateUi(this);

    }

    else

    {

        qDebug()<<tr("读取qm文件失败");

    }

}

void MainWindow::on_pushButton_3_clicked()

{

     ui->textEdit->setText(tr("多语言切换功能"));  //这个需要翻译部分必须用tr()函数

}

说明:

当你使用tr()函数时,Qt会在运行时检查当前的语言环境设置,并查找相应的翻译。如果没有找到翻译,或者当前语言环境与翻译文件不匹配,tr()函数将返回原始字符串。

3.实验结果

(1)初始页面

(2)点击“英文”按钮

(3)点击“测试”按钮

注意:

ui->textEdit->setText(tr("多语言切换功能"));  //需要修改语言环境后执行,这样就会和语言环境一样了 //但不会像button的名字那样按中英文按钮时自动变化

参考文章:

https://blog.csdn.net/weixin_42426713/article/details/132107762

https://blog.csdn.net/sdft06/article/details/130204659

https://blog.csdn.net/blqzj214817/article/details/127396411

http://www.zhongyajixie.com/news/58070.html

相关文章:

  • 官方网站开发多少钱深圳关键词优化怎么样
  • 莘县聊城做网站内容营销
  • 杭州手机申请网站登录最近10个新闻
  • 东营做网站多少钱上海疫情突然消失的原因
  • 合肥网站建设怎么做软件推广
  • 网站开发摊销期多少年安庆seo
  • 怎样做免费网站建设重庆seo招聘
  • 网站开发付款分几步百度指数排名明星
  • 网站开发 学习搜索引擎优化要考虑哪些方面?
  • wordpress b2b2c上首页seo
  • 网站数据库制作宁德市安全教育平台
  • 美声广告网站建设希爱力跟万艾可哪个猛
  • wordpress广告代码在哪里衡阳seo
  • 石家庄有学校交做网站和优化的吗优化大师卸载不了
  • 怎样做二维码网站电脑版百度
  • 苏州网站建设招聘廊坊seo排名收费
  • 建筑工程网络进度图长沙网站优化方案
  • 衡水电商网站建设价格网络推广宣传
  • 淘宝网发布网站建设全媒体广告策划营销
  • 哈尔滨网站建设网络优化长沙seo推广公司
  • 法律问题咨询哪个网站做的好企业站seo
  • 小企业网站建设系统哪个好微信小程序官网
  • 网站维护模式公司想建个网站怎么弄
  • 知乎 网站开发工具凡科网站建站教程
  • 怎么做单页竞价网站聊城优化seo
  • 郑州给公司做网站的公司长沙本地推广平台
  • 党团建设网站官网seo怎么做
  • dede茶叶网站模板游戏搜索风云榜
  • 手机视频网站怎么做买卖交易平台
  • 那个网站做3d私域运营软件