0xd34df00d
28.11.2012 12:28 Azoth_mac
moc не умеет раскрывать макросы, поэтому Q_PROPERTY тупо не работает, и даже не валится с ошибкой, если написать так:
#define DECL_PROP(group,col) \
Q_PROPERTY(QColor color_##group##_##col READ Get##group##col NOTIFY colorsChanged) \
QColor Get##group##col () const { qDebug ("%s", Q_FUNC_INFO); return GetColor (#group, #col); }
DECL_PROP(TextView, TopColor)
Придется копипастить :(
Recommended by:
@pooq: моча съела говно
подсунь в moc выхлоп cpp
как-то так
Очевидно, плохая идея. cpp мне Q_PROPERTY съест, например, и мок их не увидит.
cpp? нет, не слышал.
это я про moc, если что
Им, очевидно, cpp нужно реимплементить. Нельзя его вызывать.
почему нельзя-то? насколько я понимаю, достаточно запилить один -D, который будет убирать определения этих макросов для moc
Че.
1) убираем определения макросов
2) запускаем cpp
3) cpp оставляет всякие Q_PROPERTY как есть, потому что не знает о них
4) ...
5) PROFIT!