关于Qt中的翻译问题

最近做Qt的翻译发现有几个老是翻译不过去,我把我遇到的问题以及解决方案给大家列出来一下,共同分享

1.QMessageBox::warning(this, QObject::tr("警告"), QObject::tr("错误信息"), QObject::tr("警告"));

将其改为QMessageBox::warning(this, QObject::tr("警告"), QObject::tr("错误信息"))之后就没问题了。

2.QLabel的一个对象,setText(QObject::tr("单位(m)")),将其改为QString str = QObject::tr("单位(m)"); setText(str);就没问题了,这是因为在翻译的时候不能使用这种常量,这种常量直接在编译后被连接为常量而导致无法翻译,所以大家如果想能翻译的话,直接使用普通的堆栈变量吧。

3.在Qt的翻译中不要使用QObject::tr(""),这种手法会导致别的翻译过不去,对于空字符串要使用""即可。

4.在函数中static const QString str = QObject::tr("中文");也会导致翻译不过的,将static 去掉可以。


翻译里面各种问题,在这里先给大家列出来我碰到的,如果大家有知道的可以告诉我,一起分享出来解决大家的难题。

你可能感兴趣的:(Qt翻译)