QT_TR_NOOP应该标记我的字符串进行翻译,即在语言学家中提取它。如果我在resumet类中使用它按预期工作,但是如果我在模板类专门化中使用它,它不会标记我的字符串进行翻译。我做了以下事情:
enum TESTEnum
{
TestItem
};
EnumMeta<TESTEnum>::EnumMeta()
{
mEnumStrs.push_back(
std::pair<int,std::string>(
TestItem,
QT_TR_NOOP("TestItem")));
}
编辑:由于该类不必继承QObject,因此QT_TR_NOOP宏可以工作,我认为这个问题不重复。据我所知,只有当我需要在类中使用信号/槽或使用qt属性系统时,类才需要继承QObject。这对于类模板是不可能的。在我的情况下我只想提取字符串用于转换,QT_TR_NOOP适用于不从QObject继承的非模板类,但它不适用于模板类。