在Qlinguist中,我翻译了ui和一些相应的警告消息,生成了qm
文件并加载了它,但结果只能翻译ui,而不能翻译那些警告信息。我的代码是这样的:
void MainWindow::translate()
{
QTranslator translator;
translator.load ( "Test.qm", "D:\\" );
qApp->installTranslator ( &translator );
retranslateUi ( this );
}
MainWindow::MainWindow ( QWidget *parent ) : QMainWindow ( parent )
{
setupUi(this);
translate();
...
}
我的一条警告信息是这种形式:
QMessageBox::warning( this, QMessageBox::tr("ERROR"), QMessageBox::tr("Invalid IP adress") );
此字符串可以由lupdate
加载,我将其翻译在qm
文件中,但在运行后仍无法看到其翻译。 Here我问过这件事,但我必须打开这个新问题才能在别人的帮助下解决。有人可以帮我吗?先感谢您。
答案 0 :(得分:2)
在堆栈上创建翻译器,它将在translate()结束时立即删除。 尝试在堆上创建它,以便它继续存在。