Qt界面实现中英文切换

要实现的效果,是下拉列表切换中文和English实现按钮文本中英文内容切换。

Qt界面实现中英文切换_第1张图片

Qt界面实现中英文切换_第2张图片

实现步骤:

1.在VS中鼠标对Translation Files文件右击,选择“添加”--->“模块”.

Qt界面实现中英文切换_第3张图片

在弹窗的窗口中选择“Qt”--->“Qt Translation File”。

Qt界面实现中英文切换_第4张图片

添加Translation_en.ts和Translation_zh.ts两个文件,分布存储对应的英文和中文翻译。

2.在“扩展”菜单中选择“Qt VS Tools”中的"Lauch Qt Linguist"

Qt界面实现中英文切换_第5张图片

从“文件”菜单中选择打开Translation_en.ts文件

Qt界面实现中英文切换_第6张图片

将中文翻译为英文然后保存。

Qt界面实现中英文切换_第7张图片

3.生成Translation_en.qm文件

右击“Translation_en.ts”文件选择“lrelease”即可生成Translation_en.qm文件。

Qt界面实现中英文切换_第8张图片

4.代码实现

QtProject::QtProject(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    //下拉列表添加选项
    ui.comboBox->addItem("中文");
    ui.comboBox->addItem("English");
    //下列列表绑定槽函数
    connect(ui.comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(ChangeLanguage(int)));
}

void QtProject::ChangeLanguage(int index)
{
    QTranslator translator_en;
    bool ret = translator_en.load("Translation_en.qm");
    if (!ret)
    {
        //std::cout << "语音配置读取错误!" << std::endl;
        int a = 0;
    }
  
    QTranslator translator_ch;
    ret = translator_ch.load("Translation_ch.qm");

   int index22= ui.comboBox->currentIndex();
   if (1==index22)
   {
       App->installTranslator(&translator_en);
   }
   else if(0 == index22)
   {
       App->installTranslator(&translator_ch);
   }
    
    
    //更新界面
    ui.retranslateUi(this);
}

源码下载:

Qt界面实现中英文切换资源-CSDN文库

你可能感兴趣的:(QT,qt,开发语言)