接着上次做的语言切换
上次实现了语言动态切换,但是并不能保存,就是下次打开时语言又会恢复成原来的
这次程序中加入语言配置文件,每次语言修改会记录保存,下次打开时语言就是上次保存的。
代码如下
#include "dialog.h"
#include "ui_dialog.h"
#include <QDebug>
#include <QTranslator>
#include <iostream>
#include <QtCore>
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
this->setWindowTitle(tr("hello translator"));
connect(this->ui->pushButton_2,SIGNAL(clicked()),this,SLOT(close()));
connect(this->ui->comboBox,SIGNAL(activated(int)),SLOT(switchlanguage(int)));
connect(this->ui->pushButton_chinese,SIGNAL(clicked()),SLOT(to_chinese()));
connect(this->ui->pushButton_english,SIGNAL(clicked()),this,SLOT(to_english()));
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::switchlanguage(int flag)
{
qDebug("flag=%d",flag);
QTranslator translator(qApp);