Название: [РЕШЕНО]помогите пожалуйста разобраться с ошибками(клас наследованый от 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 всегда можно создать на лету с указанием устройства, на котором требуется рисовать.
  спасибо :)  
					
  
					
				 |