首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

qt 中部分文字无法实现动态语言切换解决方案

2014-01-05 
qt 中部分文字无法实现动态语言切换在自己的qt项目中有中英两种语言可以随时进行切换,但现在发现有部分文

qt 中部分文字无法实现动态语言切换
在自己的qt项目中有中英两种语言可以随时进行切换,但现在发现有部分文字无法切换成中文。比如下面这段代码:
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QTranslator trans;
    trans.load("gui_zh");
    QApplication::installTranslator(&trans);
    ui->retranslateUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    QString fileName = QFileDialog::getOpenFileName(this, tr("open"), QDir::currentPath(), "*.cpp");
}

红色部分是打开一个对话框来获取某个文件的路径,“open”这个字符串就是怎么都翻译不成中文,这样的例子在我的项目中有很多,有哪位能告诉我这是怎么会事,有没有解决办法?
注:我已经生成了指定的.qm文件
[解决办法]
首先你要写的翻译文件的类或是文件都必须要有Q_OBJECT,首先确认你的*.qm文件里面都有所有的英文翻译,最好把你的翻译文件(*.qm)文件加入程序的资源中,然后在主程序中加入
QTranslator* translator = new QTranslator(0);
translator->load(":/*.qm");
在用QApplication的对象调用app
app.installTranslator(translator);
希望对你有帮助
[解决办法]

引用:
在自己的qt项目中有中英两种语言可以随时进行切换,但现在发现有部分文字无法切换成中文。比如下面这段代码:
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QTranslator trans;
    trans.load("gui_zh");
    QApplication::installTranslator(&trans);
    ui->retranslateUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    QString fileName = QFileDialog::getOpenFileName(this, tr("open"), QDir::currentPath(), "*.cpp");
}

红色部分是打开一个对话框来获取某个文件的路径,“open”这个字符串就是怎么都翻译不成中文,这样的例子在我的项目中有很多,有哪位能告诉我这是怎么会事,有没有解决办法?
注:我已经生成了指定的.qm文件


强烈推荐你看一下这个:http://blog.sina.com.cn/s/blog_a6fb6cc90101f89v.html
用到切换部分的经典界面:http://bbs.csdn.net/topics/390614347

热点排行