2013-01-11 103 views
1

在Qlinguist中,我翻譯了ui和一些相應的警告消息,生成了qm文件,並加載它,但結果只能翻譯ui,而不能翻譯這些警告消息。我的代碼是這樣的:QLinguist無法翻譯警告消息

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我問過這個問題,但我必須打開這個新問題才能在別人的幫助下解決問題。有人可以幫助我嗎?先謝謝你。

回答

2

在棧上創建翻譯器時,它將在translate()的末尾立即被刪除。 嘗試在堆上創建它,以便它繼續存在。