наследование с Q_OBJECT |
Здравствуйте, гость ( Вход | Регистрация )
наследование с Q_OBJECT |
quarz |
17.12.2009, 0:14
Сообщение
#1
|
Студент Группа: Участник Сообщений: 49 Регистрация: 3.11.2009 Пользователь №: 1202 Спасибо сказали: 5 раз(а) Репутация: 0 |
Свой класс наследую от класса без Q_OBJECT.
В своем классе определяю Q_OBJECT и пытаюсь вещать сигналы. Получаю следующие ошибки: Раскрывающийся текст 1>Compiling... 1>graphscaledraw.cpp 1>Compiling... 1>moc_graphscaledraw.cpp 1>.\GeneratedFiles\debug - usermode\moc_graphscaledraw.cpp(42) : error C2039: 'staticMetaObject' : is not a member of 'QwtScaleDraw' 1> C:\qwt-5.2.0\src\qwt_scale_draw.h(30) : see declaration of 'QwtScaleDraw' 1>.\GeneratedFiles\debug - usermode\moc_graphscaledraw.cpp(56) : error C2039: 'qt_metacast' : is not a member of 'QwtScaleDraw' 1> C:\qwt-5.2.0\src\qwt_scale_draw.h(30) : see declaration of 'QwtScaleDraw' 1>.\GeneratedFiles\debug - usermode\moc_graphscaledraw.cpp(61) : error C2039: 'qt_metacall' : is not a member of 'QwtScaleDraw' 1> C:\qwt-5.2.0\src\qwt_scale_draw.h(30) : see declaration of 'QwtScaleDraw' 1>.\GeneratedFiles\debug - usermode\moc_graphscaledraw.cpp(77) : error C2665: 'QMetaObject::activate' : none of the 4 overloads could convert all the argument types 1> c:\qt\4.5.0\include\qtcore\../../src/corelib/kernel/qobjectdefs.h(334): could be 'void QMetaObject::activate(QObject *,int,int,void **)' 1> c:\qt\4.5.0\include\qtcore\../../src/corelib/kernel/qobjectdefs.h(335): or 'void QMetaObject::activate(QObject *,const QMetaObject *,int,void **)' 1> while trying to match the argument list '(DivScaleDraw *const , const QMetaObject *, int, int)' 1>Build log was saved at "file://d:\Исходники\Работа\XIDC\XILab\debug - usermode\BuildLog.htm" 1>XILab - 4 error(s), 0 warning(s) Вот код:
Как я понял компилятор возмущается что в классе-родителе (QwtScaleDraw) нет Q_OBJECT и следовательно в нем нет 'staticMetaObject', 'qt_metacast', и т.д. Если все так, проблема имеет решение? |
|
|
Текстовая версия | Сейчас: 29.3.2024, 16:29 |