2016-07-29 1 views
-1

Je reçois l'erreur undefined reference to vtable for CustomProgressBar' lorsque vous essayez de lancer le code suivant:
customprogressbar.hFaire QProgressBar personnalisé

#ifndef CUSTOMPROGRESSBAR_H 
#define CUSTOMPROGRESSBAR_H 
#include <QProgressBar> 
#include "task.h" 

class CustomProgressBar : public QProgressBar 
{ 
Q_OBJECT 
public: 
    CustomProgressBar(DayTask, QWidget* parent = 0); 
protected: 
    void paintEvent(QPaintEvent *) Q_DECL_OVERRIDE; 

private: 
    DayTask task; 
}; 

#endif // CUSTOMPROGRESSBAR_H 

customprogressbar.cpp

#include "customprogressbar.h" 
#include <QPainter> 

CustomProgressBar::CustomProgressBar(DayTask task, QWidget* parent) : 
    task{task}, 
    QProgressBar(parent) 
{ 

} 
//paintevent 

Ce qui pourrait causer la problème?

+1

double possible de [référence non définie à VTABLE] (http://stackoverflow.com/questions/3065154/undefined-reference-to-vtable) –

+0

Pour plus de lecteurs, cela semble être un problème parce que la méthode 'paintEvent' est virtuelle et déclarée mais non définie. – maxik

Répondre

1

Peut-être que moc (compilateur de métaobjet) n'est pas exécuté pour votre en-tête? Quoi qu'il en soit , il est en double pour this question

+0

oui, c'était le problème. – 7Y3RPXK3ETDCNRDD

+0

Cela devrait être un commentaire, pas une réponse. Je me rends compte que vous n'avez pas encore le privilège de commentaire, mais cela reste valable. –