Pour mes besoins personnels, je voulais dériver la classe QListWidgetItem. Ma classe dérivée est myQListWidgetItem. Voici la déclaration :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
class myQListWidgetItem : public QListWidgetItem
{
   Q_OBJECT // Objet du litige, genere une erreur
 
public:
    myQListWidgetItem(QListWidget * parent = 0);
};

Dans le constructeur, rien de particulier, je donne juste le QListWidget *parent :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
myQListWidgetItem::myQListWidgetItem(QListWidget * parent)
    : QListWidgetItem(parent)
{
     // code du constructeur
}
à la compilation, voilà l'erreur :

  1. moc_myqlistwidgetitem.cpp(38) : error C2039: 'staticMetaObject' : is not a member of QListWidgetItem'
  2. moc_myqlistwidgetitem.cpp(52) : error C2039: 'qt_metacast' : is not a member of 'QListWidgetItem'
  3. moc_myqlistwidgetitem.cpp(57) : error C2039: 'qt_metacall' : is not a member of 'QListWidgetItem'


see declaration of 'QListWidgetItem'
Moi pas très bien comprendre c'est quoi son problème. Comment je fais pour savoir facilement de quelles classes de base je peux dériver et ajouter la macro Q_OBJECT ?