一:为什么想了解-tr()函数
tr()是Qt中的基类QObject的方法,对于所有的QObject的子类都可以继承这个方法
大部分想要了解tr()函数都可能是因为出现有设置中文时乱码,我也是因为中文乱码才了解到tr()函数(防止设置中文时乱码)。
二:正确使用tr()函数
使用tr的有两类人:
1.因为发现中文老是出现问题,去搜索,看到别人使用tr然后自己也跟着随大流。
2.出于国际化需要,将需要在界面上面显示的文件都用tr包起来。
这一类人又分
2.1 用tr包住英文--源码英文,然后提供英文到其他语言的翻译包
2.2 用tr包住中文--源码中文,然后提供中文到其他语言的翻译包(需要使用QString而不是tr)
对于源码含中文时-tr是类似于用来实现代码间国际化交流的一个方法
就比如
QString text1 = QObject::tr("hello");
使用tr,则为这个程序提供中文翻译包,翻译为你好。同样的代码若是为程序提供日文翻译包,就翻译为こんにちは。提供阿拉伯翻译包,就翻译为مرحبا。相信已经了解,就不再举例了。
三:tr()函数的使用注意点
对于tr函数的使用,tr是一个经过多级函数的调用后才会进行翻译的相关操作,因此,非必要情况下建议不使用。