由于moc对象与宏一起工作,是否可以将Qt语言与宏一起使用?
基本上,我想实现这一点:
#define TR1(x) QObject::tr(#x)
#define TR2(x) QObject::tr(x)
#define TR3(x) x
#define TR4 QObject::tr("Lolita4")
auto a = TR1(Lolita1);
auto b = TR2("Lolita2");
auto c = TR3(QObject::tr("Lolita3"));
auto d = TR4;
在这里,我们只有TR3和TR4可以工作。是否也可以有TR1和TR2?
感谢
我正在使用一个"tr(("宏在QObject子类中欺骗Qt语言学家。
#define tr(str) QStringLiteral(str)
QString str = tr("Lolita1");
#undef tr
每次你使用这个可变
QString translation = tr(str.toUtf8());
这两个步骤应该在一个类中。