我在qt中有翻译问题。我的项目中的所有翻译都可以正常工作,但是其中一个翻译版本处于一个类的静态变量中。代码的相应部分如下所示qt tr()在静态变量中
头文件与此类似:
typedef struct {
int type;
QString problematicString;
} info;
MyClass::QObject_Descendant
{
Q_OBJECT;
//some functions like constructor, destructor... etc.
....
static info myClassInfo;//class that makes problems
}
,并在实现文件我初始化变量,如下所示:
info MyClass::myClassInfo={
1,
tr("something to be translated")
};
而且无论我做什么(试图与QT_TR_NOOP,然后tr()等)我无法获得myClassInfo.problematicString翻译。最奇怪的是文本“要翻译的东西” 出现在* .ts文件中。
如果有人有任何提示,请与我分享。提前致谢。
Chris。
相似的问题在这里:http://stackoverflow.com/questions/1486492/qt-tr-does-not-seem-to-work-on-static-constant-members – sje397 2010-08-16 13:42:33