Qt语言学家、宏和预处理器



由于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());

这两个步骤应该在一个类中。

相关内容

  • 没有找到相关文章

最新更新