1

在 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文件中翻译了它,但是运行后仍然看不到它的翻译。在这里我问了这个问题,但我必须打开这个新问题才能在某人的帮助下解决它。有人可以帮我吗?先感谢您。

4

1 回答 1

2

在堆栈上创建翻译器,它将在 translate() 结束时立即删除。尝试在堆上创建它,以便它继续存在。

于 2013-01-11T08:54:51.293 回答