crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Множественное наследование QObject, QGraphicsPolygonItem
lifrost
  опции профиля:
сообщение 22.3.2011, 15:07
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 38
Регистрация: 4.3.2011
Из: Миасс
Пользователь №: 2468

Спасибо сказали: 0 раз(а)




Репутация:   0  


Помогите разобраться с множественным наследование. Мне нужны сигналы/слоты в QGraphicsPolygonItem. Решил добавить второго предка QObject:

class WindowItem : public QObject, public QGraphicsPolygonItem
{
    Q_OBJECT

public:
    WindowItem(QGraphicsItem *parent, QGraphicsScene *scene);

....
};


Ругается, пишет "undefined reference to 'vtable for WindowItem' ".

Как быть?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
abc
  опции профиля:
сообщение 23.3.2011, 10:27
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 221
Регистрация: 16.12.2010
Из: СПб
Пользователь №: 2272

Спасибо сказали: 26 раз(а)




Репутация:   4  


Цитата(lifrost @ 23.3.2011, 9:52) *
WindowItem::WindowItem(QObject *p, QGraphicsItem *parent) : QGraphicsPolygonItem(p, parent)


Я бы убрал QObject из конструктора, суть здесь ведь в том, чтобы добавить родителя, вот у тебя графикитем может быть родителем
а компилятор выдал ошибку потому что:
: QGraphicsPolygonItem(p, parent) - такого конструктора у полигона просто нет
компилятор находит его конструктор с двумя аргументами, и он звучит так:
QGraphicsPolygonItem ( const QPolygonF & polygon, QGraphicsItem * parent = 0 )
и он не может передать указатель на QObject туда, где речь о QPolygonF

Сообщение отредактировал abc - 23.3.2011, 10:30
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.12.2024, 12:14