Bonjour à toutes et à tous,
Voici un code généré par Qt Creator :
fichier mainwindow.cpp :On a donc le constructeur de la classe MainWindow. Quand je pointe le curseur de la souris sur ui entre les accolades, cela marque le type "Ui::MainWindow".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) // parent pointe vers rien dans la déclaration de la fonction { ui->setupUi(this); }
Maintenant quand je pointe le curseur sur this il est marqué "Mainwindow". Au début cela ne me choquait pas : cela n'est que récemment que j'ai compris que les deux types Ui::MainWindow et MainWindow étaient différents. Bref...*
Ensuite quand je regarde le fichier main.cpp :
ça a fait tilt : en fait le this pointe sur l'objet w !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; // appel du constructeur pour construire l'objet w w.show(); // affichage de la fenêtre return a.exec(); }
Mais c'est là où je coince : comment this sait que c'est sur w de type MainWindow qu'il faut pointer, alors qu'à l'appel du constructeur, l'objet est en cours de création, donc pas achevé ? Merci et passez une bonne journée.
Partager