Problème de redéfinition de QAbstractTransition
Bonjour,
J'ai eu besoin de définir une transition en sous-classant QAbstractTransition.
Ce que je veux faire, c'est que la transition s'effectue si le nombre passé en paramètre de l'event associé soit > 0
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
struct PhasesRestantesEvent : public QEvent
{
PhasesRestantesEvent(const uint &val)
: QEvent(QEvent::Type(QEvent::User+1)),
value(val) {}
QString value;
};
class et_TransitionPhasesRestantes : public QAbstractTransition
{
public:
et_TransitionPhasesRestantes() {}
protected:
virtual bool eventTest(QEvent *e) const
{
if (e->type() != QEvent::Type(QEvent::User+1)) // PhasesRestantesEvent
return false;
PhasesRestantesEvent *pre = static_cast<PhasesRestantesEvent*>(e);
return (pre->value > 0);
}
virtual void onTransition(QEvent *) {}
}; |
Le problème, c'est que je ne peut pas instancier un objet de type et_TransitionPhasesRestantes. Le compilateur me dit :
Code:
1 2 3
| ../executiontest.cpp:73: error: cannot allocate an object of abstract type et_TransitionPhasesRestantes
../et_transitionphasesrestantes.h:49: note: because the following virtual functions are pure within et_TransitionPhasesRestantes:
/usr/include/qt4/QtCore/qabstracttransition.h:98: note: virtual bool QAbstractTransition::eventTest(QEvent*) |
Pourtant, la méthode est bien redéfinie!
Merci de m'éclairer sur cette erreur dont je ne comprend pas la cause...