• 8827阅读
  • 12回复

[提问]qt 中的tr() [复制链接]

上一主题 下一主题
离线zjfshowtime
 
只看楼主 倒序阅读 楼主  发表于: 2011-05-03
突然发现个问题,tr()这个东东可以实现国际化,而且还可以像占位符那样操作,tr("%n",变量名),这样就是可以控制文本了,这里面的%n感觉是占位符吧,有哪位知道这里面一共有几种占位符,分别支持什么数据类型,还是这一个都能把所有的数据类型都兼容,谢谢了!!!
离线dbzhang800

只看该作者 1楼 发表于: 2011-05-03
先看一下manual再说吧,不存在你提到的占位符一说,也没有你提到的控制文本一说

如果manual真的不够用,可以看这个
http://hi.baidu.com/cyclone/blog/item/aa56e5dd1a79f7e176c638be.html
离线zjfshowtime
只看该作者 2楼 发表于: 2011-05-04
回 1楼(dbzhang800) 的帖子
那你自己弄个例子试一下,很简单,label= new QLabel(tr("%n","",ver_name),this);
vername是个整形变量!这里面的%n是什么意思!
离线dbzhang800

只看该作者 3楼 发表于: 2011-05-04
Re:回 1楼(dbzhang800) 的帖子
引用第2楼zjfshowtime于2011-05-04 16:22发表的 回 1楼(dbzhang800) 的帖子 :
那你自己弄个例子试一下,很简单,label= new QLabel(tr("%n","",ver_name),this);
vername是个整形变量!这里面的%n是什么意思!

先去看一眼manual在说吧。该说的我前面都说了

至于你的%n是什么意思,就是两个普通字符组成的字符串,除此之外无任何含义。
离线zjfshowtime
只看该作者 4楼 发表于: 2011-05-04
回 3楼(dbzhang800) 的帖子
你自己试试看是什么啊!坐着打字不腰疼!
离线dbzhang800

只看该作者 5楼 发表于: 2011-05-04
Re:回 3楼(dbzhang800) 的帖子
引用第4楼zjfshowtime于2011-05-04 16:51发表的 回 3楼(dbzhang800) 的帖子 :
你自己试试看是什么啊!坐着打字不腰疼!

汗,你让我试什么啊。是让我说条语句( label= new QLabel(tr("%n","",ver_name),this); )编译不会出错,运行也不出错么?
这个不用试就知道。

你就不能去看看manual么??或者看看我的那篇博客后半部分(尽管组织的比较乱)。搞清楚这3个参数究竟是做什么的
[align=auto]

QString QObject::tr ( const char * sourceText, const char * disambiguation = 0, int n = -1 ) [static]
离线hanvy.xia
只看该作者 6楼 发表于: 2011-05-04
貌似一般用法为
tr("%n").arg(变量名), n = 数字 指代后面的第几个arg
支持的数据类型取决于QString的arg支持的数据类型,一般都支持
离线zjfshowtime
只看该作者 7楼 发表于: 2011-05-04
我的意思是出来什么结果!算了,我告诉你把,就是verName这个变量的值,没有别的!!!
离线zjfshowtime
只看该作者 8楼 发表于: 2011-05-04
因为还有qDebug("%d",verName);这些在一起,让我联想起来的一个问题,是不是这些%后面的都代表某个数据类型什么的!我就是想知道,没遇到什么问题!
离线hanvy.xia
只看该作者 9楼 发表于: 2011-05-04
那就直接对照fprintf测试不就知道了
离线zjfshowtime
只看该作者 10楼 发表于: 2011-05-04
谢谢了,我还得学下怎么用呢!
离线dbzhang800

只看该作者 11楼 发表于: 2011-05-04
恩,我犯了一个想当然的错误。

不过还是建议你看看manual:
http://doc.qt.nokia.com/latest/i18n-source-translation.html

我只关注它的主要作用(英文、法文... 中的单复数)了,忽视了它的这个副作用( "%n", "%Ln"如果在翻译完成后的字符串中存在,会被替换相应的数值或者本地化的数值)

题外:这个和你关注的问题应该没什么联系。而且在中文环境下由于不存在单复数问题应该用不到它。

特别是你举得qDebug的例子,这个你可以喝printf一类的函数去类比。
离线zjfshowtime
只看该作者 12楼 发表于: 2011-05-05
回 11楼(dbzhang800) 的帖子
好的,有时间我去测试一下,谢谢了!
快速回复
限100 字节
 
上一个 下一个