如何将Q_PROPERTY
宏放入另一个辅助宏中?
#define SimpleAllinOne(member, _type) \
public: \
void Set##member(_type _arg_##member) \
{ \
m_##member = _arg_##member;\
} \
_type Get##member() const\
{ \
return m_##member;\
} \
private: \
_type m_##member; \
Q_PROPERTY(_type member READ Get##member WRITE Set##member)
.. 不工作。预处理器输出(gcc -E flag
或nmake/jom /P flag
)显示(工作的)setter/getter 方法和相应的成员变量,但不是该行的单个字符Q_PROPERTY
。
更新:它似乎适用于正确扩展用户宏的 Qt5.1。Qt4.8不行,Qt5.0没测试过。请参阅#QTBUG-35(感谢 ??)。