Всем привет!
Дело вот в чем: есть класс, наследующийся от QGraphicsItem (пример ElasticNodes в Qt). Я вот переписываю под свои нужды, появилась необходимость послать сигнал при клике на этот объект. Т.к. события Press и Release уже реализованы - решил просто создать сигнал (QString signalGetName() { return this->name; }) и просто при событии emit signalGetName();
Далее, в другом классе создал слот (void nodeSelected(QString)) и, как обычно, при создании узла
connect(node, SIGNAL(signalGetName()), this, SLOT(nodeSelected(QString)));
Вот это как раз и не срабатывает
D:\QtProjects\SM-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2010__Qt_SDK_________\..\SM\graphwidget.cpp:235: ошибка: C2664: 'bool QObject::connect(const QObject *,const char *,const QObject *,const char *,Qt::ConnectionType)' : cannot convert parameter 1 from 'Node *' to 'const QObject *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Пробовал явно приводить к типу QObject *, и даже пробовал qobject_cast - не помогает.
Пробовал класс, наследующийся от QGraphicsItem еще наследовать и от QObject - тогда ошибка не выскакивает, но ничего не происходит.
И еще: вот я чего-то не пойму, разве в Qt не все классы так или иначе наследуются от QObject?
Спасибо!