Bonjour,
Il est une erreur que je n'arrive pas élucider :
L'exécution de mon application fonctionne très bien, jusqu'à ce que je veuille fermer celle-ci. En effet, à la fermeture, l'appli crash.
En regardant de plus prêt, j'ai vu que c'était un Widget pour lequel je n'avais pas déclarer la fenêtre principale comme étant son parent. J'y ai tout de suite remédié et j'avais éloigné le problème.
Cette fois, ce sont mes Spacers qui me génèrent le problème (Spacers qui n'existaient pas avant, que je viens de créer). Dont je ne peux pas déclarer la fenêtre principale comme étant leur parent.
Voici mon code:
J'ai essayé d'ajouter un parent donc, comme pour mes autres Widgets, comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
27
28
29
30
31
32
33
34
35 FicheComptaLoc::FicheComptaLoc() { resize(750, 250); this->setWindowTitle(QApplication::translate("FicheComptaLoc", "Fiche de comptabilité d'un locataire", 0, QApplication::UnicodeUTF8)); if (this->objectName().isEmpty()) this->setObjectName(QString::fromUtf8("FicheComptaLoc")); initTableau(); initWidget(); QSpacerItem *horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); //spacer 1 QSpacerItem *verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); //spacer 2 nomPrenomLoca = new QLineEdit(this); nomPrenomLoca->setAlignment(Qt::AlignHCenter); nomPrenomLoca->setFixedWidth(200); QLabel *LABELnomPrenomLoca = new QLabel("Locataire :", this); LABELnomPrenomLoca->setAlignment(Qt::AlignHCenter); LABELnomPrenomLoca->setFixedWidth(80); search = new QPushButton("Rechercher", this); QHBoxLayout *hb = new QHBoxLayout; hb->addWidget(LABELnomPrenomLoca); hb->addWidget(nomPrenomLoca); hb->addWidget(search); hb->addItem(horizontalSpacer); QVBoxLayout *vb = new QVBoxLayout; vb->addLayout(hb); vb->addWidget(tableau); vb->addItem(verticalSpacer); setLayout(vb); }
Sans succès car en faisant cela, l'appli crash au démarrage à peine.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 QSpacerItem *horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); horizontalSpacer->widget()->setParent(this); QSpacerItem *verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); verticalSpacer->widget()->setParent(this);
Merci d'avance pour votre aide !
Partager