qt QObject::tr不能被翻译家侦查到翻译文件问题

最近做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 去掉可以。

5  有tr成员的使用内部成员,无内部

你可能感兴趣的:(qt,数据库,开发语言)