IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Création d'une fenêtre dans un slot répondant à un signal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Par défaut Création d'une fenêtre dans un slot répondant à un signal
    Bonsoir,
    Merci tout d'abord à l'attention portée à ce message .
    Je suis débutant en C++ et je m'exerce en ce moment sur Qt .
    J'ai crée un bouton (bouton1) et je veux qu' après le SIGNAL qui est celui de cliquer dessus qu'il me génère une fenêtre.
    Je dois donc implémenter le SLOT , j'ai cherché et essayer par tout les moyens mais je n'y parviens pas , merci d'avance pour toute réponse venant de votre part.
    Voici le code.
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    /*le header*/
     
     
     
     
    #ifndef MENU_H
    #define MENU_H
    #include <QApplication>
    #include <QWidget>
    #include <QPushButton>
    #include <QLCDNumber>
    #include <QSlider>
    #include <QProgressBar>
    class MaFenetre : public QWidget
    {
        Q_OBJECT;
    public slots:
        void fenetre1(int large,int hauteur);
     
    public:
        MaFenetre();
     
     
    private:
    QPushButton *bouton1;
    QPushButton *bouton2;
    QPushButton *bouton3;
    QPushButton *bouton4;
    };
     
    #endif // MENU_H
     
     
     
     
     
     
     
     
     
     
     
    /*l'implementation */
     
     
     
    #include <QApplication>
    #include <QPushButton>
    #include "menu.h"
    void MaFenetre::fenetre1(int large,int hauteur)
    {
     
         setFixedSize(800,800);
         fenetre1.show;
     
    }
     
    MaFenetre::MaFenetre() :QWidget()
    {
        setFixedSize(800,800);
    QPushButton *bouton1 = new QPushButton("Fenetre1",this);
    bouton1->move(180,50);
    bouton1->setFont(QFont("Comic Sans MS",20));
    QPushButton *bouton2 = new QPushButton("Fenetre2",this);
    bouton2->move(180,150);
    bouton2->setFont(QFont("Comic Sans MS",20));
    QPushButton *bouton3 = new QPushButton("Fenetre3",this);
    bouton3->move(180,250);
    bouton3->setFont(QFont("Comic Sans MS",20));
    QPushButton *bouton4 = new QPushButton("Fenetre4",this);
    bouton4->move(180,350);
    bouton4->setFont(QFont("Comic Sans MS",20));
     
    QObject::connect(bouton1, SIGNAL(clicked()),this, SLOT(fenetre1()));
     
    /*et enfin le main*/
    #include <QtGui>
    #include<QApplication>
    #include "menu.h"
     
     
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
     
      MaFenetre fenetre ;
      fenetre.show();
     
     
     
     
        return app.exec();
    }
     
     
     
     
    }

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Bonjour,

    Sachant que le signal "clicked()" de QPushButton n'accepte aucune argument, le slot vers lequel il est connecté ne doit accepté aucun argument.
    Votre fonction slot fenetre1() accepte 2 arguments, se qui pose problème.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Par défaut
    admettons que fenetre1 n'admette aucun argument , comme le signal clicked , quelles sont les instructions pour afficher une fenetre que je pourrai ecrire dans le slot fenetre 1 qui serait sans arguments ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Par défaut
    au cas ou je ne me serais pas fait comprendre c'est la fenetre 1 que l'on suppose sans arguments et ma question concerne son implementation afin de creer une fenetre et merci pour ta réponse LittleWhite .

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Il faut encore savoir quel type de fenêtre vous voulez. Au pire, vous faites une nouvelle QWidget et vous l'afficher.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Par défaut
    Merci pour ta réponse ,
    je voudrai une fenêtre quelconque(où on pourrait mettre des progressbars ou des boutons par exemple) ;qui apparaiterai en plus de la fenêtre principale lorsque je clique sur le bouton "bouton1" qui se trouve sur la fenêtre pricipale. Je ne sais pas en fait coder cela dans le slot "fentre1" ,qui admettons le ne reçoit aucun argument.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'une fenêtre ancrable dans visual studio
    Par Overkill78 dans le forum VB.NET
    Réponses: 5
    Dernier message: 08/06/2009, 10h02
  2. afficher une fenêtre dans le thread
    Par LN(a) dans le forum Langage
    Réponses: 8
    Dernier message: 21/12/2005, 13h21
  3. création d'une fenêtre d'identification
    Par ghyosmik dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/11/2005, 15h29
  4. création d'une table dans une base de donnée accèss
    Par zidenne dans le forum Bases de données
    Réponses: 1
    Dernier message: 25/10/2005, 10h54
  5. Réponses: 7
    Dernier message: 12/07/2004, 22h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo