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();
    ...
}

私の警告メッセージの1つは、次の形式です。

QMessageBox::warning( this, QMessageBox::tr("ERROR"), QMessageBox::tr("Invalid IP adress") );

この文字列はによってロードでき、ファイルでlupdate翻訳しましたqmが、実行後も翻訳を確認できません。ここで私はそれについて尋ねました、しかし私は誰かの助けを借りてそれを解決するためにこの新しい質問を開かなければなりません。誰かがこれについて私を助けることができますか?前もって感謝します。

4

1 に答える 1

2

スタック上にトランスレーターを作成すると、translate() の最後ですぐに削除されます。代わりにヒープ上に作成して、存続するようにしてください。

于 2013-01-11T08:54:51.293 に答える