#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTranslator>
#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->label3->setText(tr("切换成功"));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::setTranslator(QTranslator *trans)
{
m_pTranslator = trans;
}
//刷新语言
void MainWindow::changeEvent(QEvent *event)
{
switch (event->type()) {
case QEvent::LanguageChange:
{
ui->retranslateUi(this);
break;
}
default:
QWidget::changeEvent(event);
}
}
void MainWindow::on_bt_CN_clicked()
{
//刷新语言
onLanguageTrans(0);
ui->retranslateUi(this);
}
void MainWindow::on_bt_EN_clicked()
{
//刷新语言
onLanguageTrans(1);
ui->retranslateUi(this);
}
void MainWindow::onLanguageTrans(int index)
{
QTranslator* pTrans = m_pTranslator;
qApp->removeTranslator(pTrans);
QString strPath;
QString strLanguagePath;
switch (index) {
case 0:
default:
// chinese
strLanguagePath = QCoreApplication::applicationDirPath() + "/translate/" + "LanguageTest_cn.qm";
break;
case 1:
// English
strLanguagePath = QCoreApplication::applicationDirPath() + "/translate/" + "LanguageTest_en.qm";
break;
}
int ret = pTrans->load(strLanguagePath);
if (ret)
{
qApp->installTranslator(pTrans);
setTranslator(pTrans);
}
else
{
//出错
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
LanguageTest.rar (8个子文件)
LanguageTest
mainwindow.h 673B
mainwindow.cpp 2KB
translate
LanguageTest_en.ts 1KB
LanguageTest_cn.ts 1KB
main.cpp 1KB
mainwindow.ui 2KB
LanguageTest.pro.user 20KB
LanguageTest.pro 790B
共 8 条
- 1
资源评论
牵牛老人
- 粉丝: 531
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功