读书人

QT国际化机制的互相矛盾的地方[Q_PROP

发布时间: 2012-09-17 12:06:52 作者: rapoo

QT国际化机制的相互矛盾的地方[Q_PROPERTY与tr函数]
Qt国际话是通过tr函数翻译来实现的,也就是没有tr函数就不能进行国际化,但Qt自身的一些机制又限制了tr函数的使用。这就导致了一些不能加tr函数的地方就没法进行国际化。

比如:Qt Designer自带的国际化文件:对于右侧显示属性的QtProperty的实现机制,所有右侧的属性都是在

Q_PROPERTY(Qt::ItemFlags itemFlags READ fakeItemFlags)

这样的声明中实现的,也就是说只有在此添加了Q_PROPERTY才能在Qt Designer的右侧属性栏显示相应的属性,可在Q_PROPERTY中是不能使用tr函数的,这也就不能进行国际化操作了。

Qt Designer的运行效果也显示了这一点。个人觉得是Qt的一个冲突地方,才疏浅薄,不敢妄断,求高手赐教!

QT国际化机制的互相矛盾的地方[Q_PROPERTY与tr函数]

读书人网 >编程

热点推荐