Bonjour,
je développe une application avec Qt sous Visual Studio 2019. Pour créer mes IHM graphiques j'utilise l'outil Designer et je complète dans certains cas par la création d'éléments graphitiques directement dans le constructeur.
Je voudrais factoriser une partie de ma fenêtre graphique principale pour pouvoir la réutiliser dans plusieurs pages (en ajoutant des caractéristiques particulières dans chaque page).
Pour cela je voudrais faire un héritage de la classe de ma fenêtre principale.
Pour schématiser j'ai une classe principale de type QWidget nommée A. comme indiqué ci-dessous.
j'ajoute à mon projet une classe B qui hérite de A comme indiqué ci-dessous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include "ui_A.h" class A : public QWidget, public Ui_AClass { Q_OBJECT public: explicit A(QWidget *parent = Q_NULLPTR); ~A(); };
Je pensais comme B hérite de A (donc hérité de Ui_A) ma page dans l'outil désigner B.ui serait semblable à la création que la page A.ui ce qui n'est pas le cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include "ui_B.h" class B : public A { Q_OBJECT public: explicit B(); ~B(); };
je voudrais savoir s'il vous plait pourquoi la notion d'héritage n'est pas prise en compte dans ce cas. Est ce qu'il y' aurait par exemple des modifications à apporter au constructeur de la classe B.
J'aimerais savoir sinon si vous connaissiez une solution pour réaliser un héritage d'une classe qui hérite d'un QWidget.
Merci
Partager