Problémz avec les slots qt
Résolu/Fermé
jrad31
Messages postés
58
Date d'inscription
mardi 7 avril 2009
Statut
Membre
Dernière intervention
14 juillet 2012
-
27 janv. 2010 à 20:55
jrad31 Messages postés 58 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 14 juillet 2012 - 29 janv. 2010 à 08:39
jrad31 Messages postés 58 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 14 juillet 2012 - 29 janv. 2010 à 08:39
A voir également:
- Problémz avec les slots qt
- Qt sdk - Télécharger - Langages
- Gametwist slots jeux de casino - Télécharger - Divers Jeux
- Free slots - Télécharger - Arcade
- Qt web - Télécharger - Navigateurs
- Qt tab bar - Télécharger - Personnalisation
2 réponses
jrad31
Messages postés
58
Date d'inscription
mardi 7 avril 2009
Statut
Membre
Dernière intervention
14 juillet 2012
5
28 janv. 2010 à 07:04
28 janv. 2010 à 07:04
bonjour,
merci votre aide, donc vous voulez que je fait ça :
void Fenpr::on_aide_clicked(){
apropos * fap;
fap->show();
//this.close
}
c'est vrai qu'il y a pas d'erreur de compilation mais lorsque je clique sur le bouton une fenetre d'erreur windows s'affiche :
"test.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru. ...Veuillez signaler ce problème à Microsoft..."
c quoi maintenant le pblm!!!
et comment peut on faire pour fermer la fenetre courante !!?
merciii
merci votre aide, donc vous voulez que je fait ça :
void Fenpr::on_aide_clicked(){
apropos * fap;
fap->show();
//this.close
}
c'est vrai qu'il y a pas d'erreur de compilation mais lorsque je clique sur le bouton une fenetre d'erreur windows s'affiche :
"test.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru. ...Veuillez signaler ce problème à Microsoft..."
c quoi maintenant le pblm!!!
et comment peut on faire pour fermer la fenetre courante !!?
merciii
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
27 janv. 2010 à 23:30
27 janv. 2010 à 23:30
Supposons avoir le code:
Fen2 f; crée un objet 'f' en faisant appel au constructeur de 'Fen2'. Cet objet est une variable locale... donc en sortant de la fonction 'on_aide_clicked', l'objet 'f' est détruit en faisant appel à son destructeur... et la fenêtre se ferme. Tout est donc normal.
Moralité: Si tu veux que l'objet soit persistant une fois la fonction terminée, il n'y a que la classique solution de créer un pointeur de type 'Fen2'.
Bonne réflexion.
void Fen1::on_aide_clicked(){ Fen2 f; f.show(); ... }Que se passe-t-il ?
Fen2 f; crée un objet 'f' en faisant appel au constructeur de 'Fen2'. Cet objet est une variable locale... donc en sortant de la fonction 'on_aide_clicked', l'objet 'f' est détruit en faisant appel à son destructeur... et la fenêtre se ferme. Tout est donc normal.
Moralité: Si tu veux que l'objet soit persistant une fois la fonction terminée, il n'y a que la classique solution de créer un pointeur de type 'Fen2'.
Bonne réflexion.
29 janv. 2010 à 02:26
fap->show();
Là encore ce qui se passe est normal.
Tu déclares un pointeur de type 'apropos', mais lorsque que s'exécute l'instruction 'fap->show'... l'objet potentiel que représentait 'fap' n'existe pas, aucune n'instance n'a été créée et le plantage de type 'segment fault, tôt ou tard, est assuré.
Après avoir déclaré que l'on désirait un objet de type 'apropos', il faut absolument, si on désire l'utiliser, déclarer sa concrétisation et le seul moyen d'y parvenir est de demander la construction de cet objet: Ensuite, je ne sais pas ce que tu veux faire, mais tu peux laisser le 'fclose' car l'objet 'fap' continuera d'exister jusqu'à la fin du programme si tu ne lui as pas donné de 'parent'; c'est là une caractéristique de 'Qt', tout objet est détruit au plus tard à la mort de son 'parent'. En général, on ne laisse pas d'objet sans parent, alors autant lui donner, par défaut, l'instance principale comme parent.
Bonne continuation.
29 janv. 2010 à 08:39