Interaction entre deux fenętres(primaire et secondaire)
Bonjour,
Je suis entrain d'écrire un programme dans lequel, j'ai une fenętre principale(primaire) ŕ partir de laquelle, toutes les autres fenętres seront appelées(secondaire).
Je veux que lorsque j'appelle une fenętre secondaire ŕ partir du menu(primaire), la fenętre primaire se ferme, ensuite lorsque je fais un retour au menu, la fenętre primaire revient et que la secondaire se ferme. je ne veux pas utiliser une fenętre modale comme fenętre secondaire. j'essaie ŕ partir d'un slot dans la fenętre primaire d'appeler la fenętre secondaire mais ça ne marche pas. voici mon exemple de code:
1. main.c
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
#include <QApplication>
#include "menu.h"
int main(int argc, char *argv[])
{
QApplication app(argc,argv);
Menu fenetrePrincipale;
fenetrePrincipale.show();
return app.exec();
} |
2.menu.c : qui doit appeler les autres fenętres
Code:
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#include "menu.h"
#include "ajout.h"
#include "convertion.h"
#include "releve.h"
Menu::Menu()
{
this->setWindowTitle("Bienvenu");
//Création des boutons
QLabel *titre = new QLabel(this);
titre->setText("<h1><b>MA BANQUE DE POCHE</b></h1>");
QPushButton *menuAjouter = new QPushButton(this);
menuAjouter->setText("Ajouter de l'argent dans votre compte");
QPushButton *menuRetirer = new QPushButton(this);
menuRetirer->setText("Retirer de l'argent dans votre compte");
//[...]
QPushButton *info = new QPushButton(this);
info->setText("Info");
QPushButton *about = new QPushButton(this);
about->setText("About");
QPushButton *quitteApp = new QPushButton(this);
quitteApp->setText("Quitter");
//[...]
connect(menuAjouter,SIGNAL(clicked()),this,SLOT(ajouter()));
connect(menuRetirer,SIGNAL(clicked()),this,SLOT(retirer()));
//boutton quitter
connect(quitteApp, SIGNAL(clicked()),qApp,SLOT(quit()));
//boutton aboutQt
connect(about,SIGNAL(clicked()),qApp,SLOT(aboutQt()));
}
//slots
//je veux que lorsque j'appelle la nouvelle fenetre, celle du menu se ferme
//j'ai aucune idée de comment, tuer la fenetre du main à partir de ce slot !
void Menu::ajouter()
{
QString str1;
str1= "AJOUTER";
Ajout *fenetre = new Ajout(str1,this);
fenetre->show();
}
void Menu::retirer()
{
QString str2;
str2= "RETIRER";
Ajout *fenetre = new Ajout(str2,this);
fenetre->show();
} |