Bonjour,
Désolé d'écrire dans une rubrique qui n'est pas la mienne, mais j'ai eu le même problème, que grâce à votre réponse, j'ai pu résoudre.
Toutefois, je débute en Qt, ainsi qu'avec les classes.
J'ai une petite question concernant ces quelques lignes de code :
void f()
{
//fenetre est créé dynamiquement
FENETREFILLE * pFenetre = new FENETREFILLE ;
pFenetre ->show();
}
J'ai bien compris qu'en ne créant pas dynamiquement, ca ne marchait pas (je l'ai surtout expérimenté ....), mais ce que je souhaiterais savoir, c'est pourquoi et comment créer dynamiquement.
Merci d'avance.
Ben oui, mais en fait j'étais vraiment capoute cette semaine, j'ai fais vraiment du grand n'importe quoi... comme écrire le code qui marche, ne pas l'avoir testé, et continuer de se prendre le chou... bon bref...Lol. Ok
As tu compris la solution
Parce que le pointeur est détruit, pas la fenetre... l'allocation mémoire du pointeur est détruit, l'allocation mémoire de la fenetre est inaccédée ? c'est ca ?J'ai bien compris qu'en ne créant pas dynamiquement, ca ne marchait pas (je l'ai surtout expérimenté ....), mais ce que je souhaiterais savoir, c'est pourquoi et comment créer dynamiquement. Merci d'avance.
Et puis si tu déclare la fenetre en attribut de la classe, tu as unicité.
Créer dynamiquement, qu'estc e que ca signifie ?
* pointer ?
* attribuer ?
c'est en vocabulaire qu'il faut que je progresse, sinon les constructeurs en objet, ca va hein, merci bien
Créer ( = instancier) dynamiquement un objet signifie allouer la mémoire pour cet objet avec le mot clé new, qui ne s'applique que sur des pointeurs.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
rhôôô , merki sérieusement arrêtez les mecs, instanciez je sais ce que ca veut dire. Bon là à jongler entre Qt, C++, audionumérique et CSS, je me suis embrouillé les pinceaux...
En revanche c'est vrai qu'en java le new c'est pour tout si je ne m'abuse.
Ca tranche assez quand on passe en Cpp.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
J'ai un autre soucis... Je voudrais que ma qmainwindow fille ait le même menu que la mère ? comment faire ? créer un qwidget à la place ?
En fait je veux des fenetre multiple pour le même menu, vu que je développe sur Mac c'est possible du point de vue IHM, mais est ce qu'on doit réimplémenter un menu identique pour chaque fenetre ou est ce qu'on peut expliciter une filiation, et un héritage (au sens commun) du menu ?
j'ai tenté ca, sans erreur à la compilation, mais ne marche pas :
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 pMixer = new Mixer; //connections pour la fenetre principale connect(this->interface.actionOuvrir, SIGNAL(triggered()), this, SLOT(ouvrir()));//Menu-->Fichier-->Ouvrir this->interface.actionOuvrir->setShortcut(tr("Ctrl+O")); this->interface.actionOuvrir->setStatusTip(tr("Open an existing file")); //connections pour la fenetre IDSResynth connect(this->pMixer->ui.actionOuvrir, SIGNAL(triggered()), this, SLOT(ouvrir()));//Menu-->Fichier-->Ouvrir this->pMixer->ui.actionOuvrir->setShortcut(tr("Ctrl+O")); this->pMixer->ui.actionOuvrir->setStatusTip(tr("Open an existing file"));
HS : Alp, c'est quoi qui a fait ton avatar ? Avec quel outil si oui ?
sur certaines IDE, la concurrence de 2 QMainWindows a l'air d'être source de Bugs. Je suis passé à une QMainWindow qui a un fils QWidget (rav avec l'héritage, on parle toujours de GUI), en revanche je suis décu ca rje pensais qu'en étant QWidget, le fils ne modifierai pas le menu en haut (je suis sur mac)... alors que si, dommage
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager