今天遇到一个问题,tr的翻译不起作用,刚开始还一直以为自己的翻译没有发布成功,查了之后发现翻译文件ts和qm都没有问题,但是界面不显示中文
查了文档才发现是Q_OBJECT的原因
tr的原型
QString QObject::tr(const char * sourceText, const char * disambiguation = 0, int n = -1)
如果类中没有定义Q_OBJECT,tr是不识别的
所以要使用tr要定义Q_OBJECT
class A
{
Q_OBJECT
};
或者直接通过QObject来调用
Object::tr(…)