Qt 允许您使用以下语法在槽/Q_INVOKABLE 方法上添加任意标签:
// In the class MainWindow declaration
#ifndef Q_MOC_RUN
// define the tag text as empty, so the compiler doesn't see it
# define MY_CUSTOM_TAG
#endif
...
private slots:
MY_CUSTOM_TAG void testFunc();
我想制作一个宏功能标签,如下所示:
#ifndef Q_MOC_RUN
# define MY_CUSTOM_TAG(...)
#endif
...
private slots:
MY_CUSTOM_TAG(someData) void testFunc();
我希望最终会成为我的代码解析的字符串tag()
-MY_CUSTOM_TAG(someData)
但是,MOC 给了我这个错误:
error: Parse error at ")"
有没有办法使这项工作?还是 MOC 只支持标签的简单宏?