Je rencontre un problème avec la compréhension de l'utilisation du pointeur parent
dans QT4.Utilisation du pointeur parent Qt4
class firstClass : public QWidget
{
Q_OBJECT
public:
firstClass(QWidget *parent = 0);
~firstClass();
void doSomething();
private:
secondClass * myClass;
};
class secondClass : public QWidget
{
Q_OBJECT
public:
secondClass(QWidget *parent = 0);
void doSomethingElse();
};
Je veux appeler doSomething()
méthode lors de l'exécution doSomethingElse()
. Est-il possible de le faire en utilisant le pointeur parent
? J'ai essayé parent->doSomething()
mais cela ne fonctionne pas. Il semble que Qt Creator suggère seulement des méthodes de la classe QObject après parent->
.
D'autre part, je ne peux pas écrire comme secondClass(firstClass *parent = 0);
- compilator renvoie l'erreur:
Merci pour toutes suggestions.
Tant que la définition de firstClass est #include avant de définir deuxième classe, la définition de votre constructeur de remplacement devrait compiler: ':: deuxième classe (firstClass * deuxième classe parent = 0): QWidget (parent) {}' Qu'est-ce que erreur de compilation obtenez-vous? –
Je ne comprends pas pourquoi le compilateur ne vous laisserait pas passer le pointeur firstClass au constructeur de secondClass. –
Les deux classes sont définies dans des fichiers différents et j'obtiens une erreur de secondClass.h - firstClass n'a pas été déclaré (même chose aveC#include "firstClass.h" et sans) – Moomin