Название: [РЕШЕНО]помогите пожалуйста разобраться с ошибками(клас наследованый от QPainter
Отправлено: Noize_programmer от Август 22, 2023, 12:22
весь проект дать не могу но ошибки в этом классе (не хочу чтобы кто нибудь создал похожую игру) Ошибки: - F:\projects\Qt_project\5.0.2\games\math_strategy\build-math_strategy-Desktop_Qt_5_12_12_MinGW_64_bit-Debug\debug\moc_Square.cpp:87: ошибка: 'qt_metacast' is not a member of 'QPainter'
debug\moc_Square.cpp: In member function 'virtual void* Square::qt_metacast(const char*)': debug\moc_Square.cpp:87:22: error: 'qt_metacast' is not a member of 'QPainter' return QPainter::qt_metacast(_clname); ^~~~~~~~~~~ - F:\projects\Qt_project\5.0.2\games\math_strategy\build-math_strategy-Desktop_Qt_5_12_12_MinGW_64_bit-Debug\debug\moc_Square.cpp:92: ошибка: 'qt_metacall' is not a member of 'QPainter'
debug\moc_Square.cpp: In member function 'virtual int Square::qt_metacall(QMetaObject::Call, int, void**)': debug\moc_Square.cpp:92:21: error: 'qt_metacall' is not a member of 'QPainter' _id = QPainter::qt_metacall(_c, _id, _a); ^~~~~~~~~~~ - :-1: ошибка: [Makefile.Debug:8206: debug/moc_Square.o] Error 1
код: h. #ifndef SQUARE_H #define SQUARE_H
#include <QPainter> #include <QObject> class QPainter;
class Square : public QPainter, QObject { Q_OBJECT public: Square(QObject* parent = nullptr); void drawSquare(QPoint point,QPoint point2,QPoint point3,QPoint point4); };
#endif // SQUARE_H
cpp. #include "Square.h"
Square::Square(QObject* parent) : QPainter(), QObject(parent) {
}
void Square::drawSquare(QPoint point, QPoint point2, QPoint point3, QPoint point4) { drawPolygon(QPolygon()<< point << point2 << point3 << point4);
}
Название: Re: помогите пожалуйста разобраться с ошибками(клас наследованый от QPainter)
Отправлено: ssoft от Август 22, 2023, 15:47
Если закрыть глаза :o на попытку смешать теплое и зеленое, то должно быть так C++ (Qt) class Square : public QObject // всегда первый , public QPainter { Q_OBJECT public: Square(QObject* parent = nullptr); void drawSquare(QPoint point,QPoint point2,QPoint point3,QPoint point4); };
Но :-\, не нужно смешивать средство рисования QPainter и объект с поведением. QPainter всегда можно создать на лету с указанием устройства, на котором требуется рисовать.
Название: Re: помогите пожалуйста разобраться с ошибками(клас наследованый от QPainter)
Отправлено: Noize_programmer от Август 22, 2023, 15:54
Если закрыть глаза :o на попытку смешать теплое и зеленое Но :-\, не нужно смешивать средство рисования QPainter и объект с поведением. QPainter всегда можно создать на лету с указанием устройства, на котором требуется рисовать.
спасибо :)
|