Qt中tr()的作用

Posted sggggr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt中tr()的作用相关的知识,希望对你有一定的参考价值。

函数 tr()全名是QObject::tr(),被它处理的 字符串可以 使用工具提 取出来翻译 成其他语言, 也就是做国际化使用。

只要记住,Qt 的最佳实践:如果你想让你的程序国际化的话,那么,所有用户可见的字符串都要使用 QObject::tr()!

但是,为什么我们没有写 QObject::tr(),而仅仅是 tr()呢?原来,tr()函数是定义在 Object里面的,所有使用了 Q_OBJECT 宏的类都自动具有 tr()函数。

 

在书中看到的一句话,如果想要你做的程序国际化,就把所有用户可见的字符串写到tr()中去,可直接用工具翻译成多语言的版本.

转载:https://blog.csdn.net/Mountain_Zhou_only/article/details/79929058

 

为什么有些字符串前面会有&号呢?比如像下面这样:

 openAction = new QAction(tr("&Open"), this);

为什么会出现呢?因为这是一个定义action的初始化字符串,“&”主要用于快捷键,就好比按下alt的时候我们使用的桌面程序也会有快捷键一样。而且这个快捷键与字符串的首字母有关,首字母是什么 快捷键就是 alt+什么。

以上是关于Qt中tr()的作用的主要内容,如果未能解决你的问题,请参考以下文章

QFileDialog 取消

26.Qt Quick QML-RotationAnimationPathAnimationSmoothedAnimationBehaviorPauseAnimationSequential(代码片段

Qt 本地化(翻译)

关于qt中的tr()函数

java代码在片段活动中不起作用

一个表格中选定的tr,显示在另一个表格中