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

来源:互联网 发布:淘宝运费险赚取差价 编辑:程序博客网 时间:2024/05/17 03:28
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的一个冲突地方,才疏浅薄,不敢妄断,求高手赐教!


原创粉丝点击