LINUX.ORG.RU

Ошибка компиляции при включении макроса Q_OBJECT

 ,


0

1

Вот объявление класса:

#ifndef ITEM_H
#define ITEM_H

#include <QGraphicsEllipseItem>

class Item : public QGraphicsEllipseItem
{
	Q_OBJECT

public:
	Item();

public slots:
	void makeBlue();
};

#endif // ITEM_H

Без макроса Q_OBJECT всё компилилось, но мне нужно использовать слоты, поэтому я добавил Q_OBJECT, запустил qmake, и теперь Qt Creator стал выдавать такую простыню:

http://pastebin.com/daxMEecL

ЧЯДНТ?

★★★★★

Последнее исправление: cetjs2 (всего исправлений: 1)

А разве QGraphicsEllipseItem наследуется от QObject? Спасёт множественное наследование, QObject На первом месте.

#ifndef ITEM_H
#define ITEM_H

#include <QGraphicsEllipseItem>

class Item : public QObject, public QGraphicsEllipseItem
{
	Q_OBJECT

public:
	Item(QObject *parent = 0);

public slots:
	void makeBlue();
};

#endif // ITEM_H

Вот так.

com
()
Ответ на: комментарий от com

Спасибо, я почему-то думал, что все классы Qt наследуются от QObject.

eugeno ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.