Название: QGraphicsItem и сигналы - вещи несовместимые? Отправлено: troorl от Март 09, 2007, 04:52 Посылаю в одном из методов потомка QGraphicsItem сигнал:
Код: emit onSelectItem(); В заголовочном файле указываю: Код: signals: Но при компиляции вылазит ошибка: Код: build/moc/moc_frameItem.cpp:40: error: staticMetaObject is not a member of QGraphicsItem Неужели нельзя посылать сигналы из QGraphicsItem? добавлено спустя 2 минуты: Да, и ещё: макрос Q_OBJECT я указать не забыл) добавлено спустя 34 минуты: Методом тыка пришёл к выводу, что надо добавить в предки ещё и QObject. Не знаю, правильно ли это, но вроде работает :) Название: QGraphicsItem и сигналы - вещи несовместимые? Отправлено: Вячеслав от Март 09, 2007, 17:22 ГЫЫЫЫЫЫЫЫЫЫЫЫЫ!!! А Доку кто будет читать ? QGraphicsItem - не НАСЛЕДНИК QObject'a следовательно если хотится сигналов делаем двойное наследование
Код: class Mouse : public QObject, public QGraphicsItem Название: QGraphicsItem и сигналы - вещи несовместимые? Отправлено: troorl от Март 09, 2007, 17:39 Ну я собственно это и сделал ;)
Название: QGraphicsItem и сигналы - вещи несовместимые? Отправлено: Вячеслав от Март 09, 2007, 17:44 Ну да ;) И тык тута не причем ;) Кстати - примеры рулят ;)
Название: QGraphicsItem и сигналы - вещи несовместимые? Отправлено: troorl от Март 09, 2007, 17:57 А можно ещё один вопрос? Как мне при генерации сигнала передать через этот сигнал ссылку на самого себя?
То есть что-то типа такого: emit balbla(this); Что-то я никак не могу это победить. Название: QGraphicsItem и сигналы - вещи несовместимые? Отправлено: Вячеслав от Март 09, 2007, 18:33 Код:
и emit по тексту ? Название: QGraphicsItem и сигналы - вещи несовместимые? Отправлено: troorl от Март 09, 2007, 20:37 Компилятор говорит такое...
error: invalid conversion from QGraphicsItem* to frameItem* добавлено спустя 53 минуты: Ну вроде с горем пополам сделал. Спасибо :) Название: QGraphicsItem и сигналы - вещи несовместимые? Отправлено: Вячеслав от Март 09, 2007, 22:10 а как сделал-то ?
qobject_cast<T*>(obj); али dynamic_cast ? ;) Название: QGraphicsItem и сигналы - вещи несовместимые? Отправлено: troorl от Март 09, 2007, 22:55 не, всё тривиально:
emit someSignal(*this); и в заголовочном файле signals: void someSignal(frameItem &); |