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 :

Appel d'une fenêtre à partir d'un bouton

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 25
    Points : 30
    Points
    30
    Par défaut Appel d'une fenêtre à partir d'un bouton
    Bonjour ;
    je veux appeler une fenêtre à partir d'un bouton mais je n'arrive pas à le faire qui peux m'aider .
    cordialement

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


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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Bonjour

    Celui qui peux vous aider est une personne qui peut lire votre code actuel.
    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
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 597
    Points
    188 597
    Par défaut


    Sans plus d'information, il est juste possible de te rediriger vers le concept de signal et de slot (par exemple, lis http://qt.developpez.com/tutoriels/introduction-qt/ pour une introduction assez complète).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    Bonjour ;voila mon code:
    main.cpp:
    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
     
    #include "mainwindow.h"
    #include <QApplication>
    #include <QtGui>
    #include <QPixmap>
    #include <QLabel>
     
    #include "ui_mainwindow.h"
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
       MainWindow w;
       w.show();
        return a.exec();
    }
    le mainwindow.cpp
    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
     
    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    }
     
    MainWindow::~MainWindow()
    {
        delete ui;
    }
     
     
     
    void MainWindow::on_pushButton_2_clicked()
    {
         QWidget::close();
    }
    le mainwindow.h
    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
    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
     
    #include <QMainWindow>
     
    namespace Ui {
    class MainWindow;
    }
     
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
     
    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();
     
    private slots:
        void on_pushButton_2_clicked();
     
     
     
    private:
        Ui::MainWindow *ui;
    };
     
    #endif // MAINWINDOW_H
    et la fentre que je veux appelé est lecture dont le code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include "lecture.h"
    #include "ui_lecture.h"
     
    lecture::lecture(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::lecture)
    {
        ui->setupUi(this);
    }
     
    lecture::~lecture()
    {
        delete ui;
    }
    lecture.h
    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
    #ifndef LECTURE_H
    #define LECTURE_H
     
    #include <QMainWindow>
     
    namespace Ui {
    class lecture;
    }
     
    class lecture : public QMainWindow
    {
        Q_OBJECT
     
    public:
        explicit lecture(QWidget *parent = 0);
        ~lecture();
     
    private:
        Ui::lecture *ui;
    };
     
    #endif // LECTURE_H

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


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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void MainWindow::on_pushButton_2_clicked()
    {
         QWidget::close();
    }
    C'est la fonction qui est appelée lorsque l'on appuie sur le bouton. Pourquoi ne pas créer la nouvelle fenêtre, aussi, dans cette fonction (genre new lecture;).
    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
    Nouveau membre du Club
    Homme Profil pro
    salarié
    Inscrit en
    Mars 2015
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Mars 2015
    Messages : 36
    Points : 30
    Points
    30
    Par défaut
    (Je ne suis qu'un débutant, mais je vais essayer de t'aider)

    Dans le CPP de ta première fenêtre tu dois créer la connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QObject::connect("le nom de ton bouton", SIGNAL(clicked()), this, SLOT( "le nom du VOID... à ouvrir()));
    Et ensuite dans ton VOID, tu ouvre la deuxième fenêtre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    lecture *f = new lecture();
    f->show();
    Essai et dis moi.

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void MainWindow::on_pushButton_2_clicked()
    {
         QWidget::close();
    }
    C'est la fonction qui est appelée lorsque l'on appuie sur le bouton. Pourquoi ne pas créer la nouvelle fenêtre, aussi, dans cette fonction (genre new lecture;).
    j'ai pensé a cette méthode mais elle m'affiche qu'une fenêtre vide or que moi je veux afficher la fenêtre qui contient mon travail (ya d'autre bouton et image à afficher)
    voila le code que j'ai utiliser pour ceci ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     QWidget *form = new QWidget;
       form->show();
       hide();

  8. #8
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par Stebast Voir le message
    Dans le CPP de ta première fenêtre tu dois créer la connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QObject::connect("le nom de ton bouton", SIGNAL(clicked()), this, SLOT( "le nom du VOID... à ouvrir()));
    Et ensuite dans ton VOID, tu ouvre la deuxième fenêtre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    lecture *f = new lecture();
    f->show();
    Essai et dis moi.
    je n'arrive pas a créer la connexion ,l'or de la compilation il m'affiche un message d'erreur,il n'a pas reconnue QObject j'ai pas pu résoudre le probleme de connexion

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    salarié
    Inscrit en
    Mars 2015
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Mars 2015
    Messages : 36
    Points : 30
    Points
    30
    Par défaut
    Si tu n'as pas toujours réussi, voici un exemple.
    Par contre, fais attention entre les : public:, public slots:, private.
    Ou cas où, n'oublie pas d'exécuter qmake.

    main :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include "mainwindow.h"
    #include <QApplication>
     
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
     
        return a.exec();
    }
    mainwindow.h

    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
     
    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
     
    #include <QMainWindow>
    #include <QPushButton>
     
    namespace Ui {
    class MainWindow;
    }
     
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
     
    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();
     
    public slots:
        void ouvreFenetreLecture();
     
    private:
        Ui::MainWindow *ui;
     
        QPushButton *bouton;
        QPushButton *bouton2;
    };
     
    #endif // MAINWINDOW_H
    mainwindow.cpp

    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
     
    #include "mainwindow.h"
    #include "ui_mainwindow.h"
     
    #include "lecture.h"
     
     
    #include <QPushButton>
    #include <QVBoxLayout>
     
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
     
        QWidget *zoneCentrale = new QWidget;
     
        bouton = new QPushButton("BOUTON");
        bouton2 = new QPushButton("QUITTER");
     
        QVBoxLayout *boxLayout = new QVBoxLayout;
        boxLayout->addWidget(bouton);
        boxLayout->addWidget(bouton2);
     
        zoneCentrale->setLayout(boxLayout);
        setCentralWidget(zoneCentrale);
     
        QObject::connect(bouton2, SIGNAL(clicked()), qApp, SLOT(quit()));
     
        QObject::connect(bouton, SIGNAL(clicked()), this, SLOT(ouvreFenetreLecture()));
     
    }
     
    void MainWindow::ouvreFenetreLecture()
    {
        lecture *f = new lecture();
        f->show();
    }
     
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    lecture.h

    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
     
    #ifndef LECTURE_H
    #define LECTURE_H
     
    #include <QMainWindow>
    #include<QPushButton>
     
    namespace Ui {
    class lecture;
    }
     
    class lecture : public QMainWindow
    {
        Q_OBJECT
     
    public:
        explicit lecture(QWidget *parent = 0);
        ~lecture();
     
    private:
        Ui::lecture *ui;
     
        QPushButton *bouton3;
    };
     
    #endif // LECTURE_H
    lecture.cpp

    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
     
    #include "lecture.h"
    #include "ui_lecture.h"
     
    #include <QPushButton>
    #include <QVBoxLayout>
     
    lecture::lecture(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::lecture)
    {
        ui->setupUi(this);
     
        QWidget *zoneCentrale = new QWidget;
     
        bouton3 = new QPushButton("FERMER");
     
        QVBoxLayout *boxLayout = new QVBoxLayout;
        boxLayout->addWidget(bouton3);
     
        zoneCentrale->setLayout(boxLayout);
        setCentralWidget(zoneCentrale);
     
        QObject::connect(bouton3, SIGNAL(clicked()), this, SLOT(close()));
    }
     
    lecture::~lecture()
    {
        delete ui;
    }

  10. #10
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    Merci pour vos réponse ça marche maintenant

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

Discussions similaires

  1. Appel d'une fenêtre à partir d'une option du Menu
    Par rednaks dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 06/03/2012, 10h55
  2. ouvrir une fenêtre à partir d'un bouton
    Par minerva dans le forum C#
    Réponses: 1
    Dernier message: 16/10/2010, 11h40
  3. afficher une fenêtre à partir d'un bouton d'une première fenêtre
    Par TERRIBLE dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 12/05/2010, 19h52
  4. [WD12] afficher une fenêtre à partir d'un bouton modifier
    Par dede55 dans le forum WinDev
    Réponses: 7
    Dernier message: 13/02/2010, 18h37
  5. appel d'une fonction à partir d'un bouton
    Par hammag dans le forum Langage
    Réponses: 7
    Dernier message: 04/06/2009, 19h00

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