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

Qt Discussion :

Fenetre secondaire


Sujet :

Qt

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 40
    Points : 18
    Points
    18
    Par défaut Fenetre secondaire
    Bonjour,

    J'ai un problème pour l'ouverture d'une fenetere secondaire, déjà ca ne compile pas, ca me met une erreur :
    La fenetre doit s'ouvrir en appuyant sur le bouton Nouveau.

    Console :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    E:\Programmes\GuyRegister>make
    mingw32-make -f Makefile.Release
    mingw32-make[1]: Entering directory `E:/Programmes/GuyRegister'
    g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..\QT\inc
    lude\QtCore" -I"..\..\QT\include\QtCore" -I"..\..\QT\include\QtGui" -I"..\..\QT\include\QtGui" -I"..\..\QT\include" -I"." -I"e:\QT\include\ActiveQt" -I"release" -I"." -I"..\..\QT\mks
    pecs\win32-g++" -o release\FenPrincipale.o FenPrincipale.cpp
    FenPrincipale.cpp: In constructor `FenPrincipale::FenPrincipale()':
    FenPrincipale.cpp:70: error: expected primary-expression before ',' token
    mingw32-make[1]: *** [release/FenPrincipale.o] Error 1
    mingw32-make[1]: Leaving directory `E:/Programmes/GuyRegister'
    mingw32-make: *** [release] Error 2
    FenPrincipale.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
     
    // MaFenetre.h
     
    #ifndef DEF_MAFENETRE
    #define DEF_MAFENETRE
     
    #include <QApplication>
    #include <QWidget>
    #include <QPushButton>
    #include <QMessageBox>
     
    class FenPrincipale : public QWidget
    {
        Q_OBJECT
     
        public:
        FenPrincipale();
     
        public slots:
        void ouvrirDialogue();
     
        private:
        QPushButton *m_boutonDialogue;
    };
     
    #endif
    FenAjout.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
     
    #ifndef DEF_FENETREAJOUT
    #define DEF_FENETREAJOUT
     
    #include <QApplication>
    #include <QWidget>
    #include <QPushButton>
    #include <QMessageBox>
     
    class FenAjout : public QWidget
    {
     
        Q_OBJECT
     
        public:
        FenAjout();
    };
     
    #endif
    FenPrincipale.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
    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
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
     
    #include <QApplication>
    #include <QtGui>
    #include <QGridLayout>
    #include <QPushButton>
    #include "FenPrincipale.h"
    #include <QLineEdit>
    #include "FenAjout.h"
     
     
     
    FenPrincipale::FenPrincipale()
    {
        setFixedSize(500, 600);
        QLabel * bienvenue = new QLabel(this);
        bienvenue->setPixmap(QPixmap("logo.png"));
        QPushButton *quitter = new QPushButton("Quitter");
        QWidget::connect(quitter, SIGNAL(clicked()), qApp, SLOT(quit()));
        quitter->setFixedWidth(60);
     
        // 1 : Créer le QTabWidget
        QTabWidget *milieu = new QTabWidget;
        setWindowTitle("GuyRegister v0.1 Beta");
        QTabWidget *dr = new QTabWidget;
     
        //Fenetre Ajout Site
     
        // 3 : Créer le contenu des pages de widgets
     
        // Ligne vertical
     
        QListView *liste = new QListView;
        liste->setFixedWidth(200);
     
     
        //Formulaire
     
     
        QLabel *nomsiteLabel = new QLabel("Nom Site :");
        QLineEdit *nomsiteEdit = new QLineEdit;
        nomsiteEdit->setFixedWidth(150);
        nomsiteLabel->setAlignment(Qt::AlignTop);
        QLabel *urlLabel = new QLabel("URL :");
        QLineEdit *urlEdit = new QLineEdit;
        urlEdit->setFixedWidth(150);
        urlLabel->setAlignment(Qt::AlignTop);
        QLabel *pseudoLabel = new QLabel("Pseudo :");
        QLineEdit *pseudoEdit = new QLineEdit;
        pseudoEdit->setFixedWidth(150);
        pseudoLabel->setAlignment(Qt::AlignTop);
        QLabel *mdpLabel = new QLabel("Mot de passe :");
        QLineEdit *mdpEdit = new QLineEdit;
        mdpEdit->setFixedWidth(150);
        mdpLabel->setAlignment(Qt::AlignTop);
        QLabel *emailLabel = new QLabel("Email :");
        QLineEdit *emailEdit = new QLineEdit;
        emailEdit->setFixedWidth(150);
        emailLabel->setAlignment(Qt::AlignTop);
        QLabel *autresLabel = new QLabel("Autres :");
        autresLabel->setAlignment(Qt::AlignTop);
        QTextEdit *autresEdit = new QTextEdit;
        autresEdit->setFixedWidth(150);
        autresEdit->setFixedHeight(120);
     
        //Boutons
        QPushButton *modifier = new QPushButton("Modifier", this);
        modifier->setFixedWidth(70);
        QObject::connect(modifier, SIGNAL(clicked()), this, SLOT(ouvrirDialogue()));
     
        QPushButton *add = new QPushButton("Nouveau", this);
        QWidget::connect(add, SIGNAL(clicked()), &FenAjout, SLOT(exec()));
     
        QPushButton *remove = new QPushButton("Supprimer", this);
     
     
     
        //GroupBox du Formulaire
        QGroupBox *groupbox = new QGroupBox("Site");
        QGridLayout *gb = new QGridLayout;
        gb->addWidget(nomsiteLabel, 0, 0);
        gb->addWidget(nomsiteEdit, 0, 1);
        gb->addWidget(urlLabel, 1, 0);
        gb->addWidget(urlEdit, 1, 1);
        gb->addWidget(pseudoLabel, 2, 0);
        gb->addWidget(pseudoEdit, 2, 1);
        gb->addWidget(mdpLabel, 3, 0);
        gb->addWidget(mdpEdit, 3, 1);
        gb->addWidget(emailLabel, 4, 0);
        gb->addWidget(emailEdit, 4, 1);
        gb->addWidget(autresLabel, 5, 0);
        gb->addWidget(autresEdit, 5, 1);
        gb->setAlignment(Qt::AlignCenter);
     
     
        groupbox->setLayout(gb);
        groupbox->setFixedHeight(300);
     
        //Layout de droite
        QGridLayout *droite = new QGridLayout;
        droite->setAlignment(Qt::AlignTop);
        droite->addWidget(groupbox, 0, 0, Qt::AlignTop);
        droite->addWidget(modifier, 1, 0, Qt::AlignRight);
        dr->setLayout(droite);
     
        //Layout pour milieu
        QGridLayout *vbox1 = new QGridLayout;
        vbox1->addWidget(liste, 0, 0, 1, 2);
        vbox1->addWidget(dr, 0, 3);
        vbox1->addWidget(add, 1, 0);
        vbox1->addWidget(remove, 1, 1);
     
        milieu->setLayout(vbox1);
     
     
        //Layout du programme
     
     
        QGridLayout *main = new QGridLayout;
        main->addWidget(bienvenue, 0, 0);
        main->addWidget(milieu, 1, 0);
        main->addWidget(quitter, 2, 0, Qt::AlignRight);
        setLayout(main);
     
     
    }
     
    FenAjout::FenAjout()
     
    {
     
        QVBoxLayout *layout = new QVBoxLayout;
        QLabel *image = new QLabel;
        image->setPixmap(QPixmap("logo.png"));
        layout->addWidget(image);
        setLayout(layout);
     
    }
     
    void FenPrincipale::ouvrirDialogue()
    {
     
        QMessageBox::warning(this, "Erreur", "Tous les champs ne sont pas remplis !");
     
    }
    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
     
    #include <QApplication>
    #include "FenPrincipale.h"
     
    int main(int argc, char* argv[])
    {
        QApplication app(argc, argv);
     
        FenPrincipale fenetre;
        fenetre.show();
     
        return app.exec();
    }
    Merci

  2. #2
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    Tu devrais trouver quelques éléments de réponse dans ce tuto.

    PS: tu aurais dû poster dans la section "Débuter" (bon, y'a pas mort d'homme non plus )

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 40
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par IrmatDen Voir le message
    Salut,

    Tu devrais trouver quelques éléments de réponse dans ce tuto.

    PS: tu aurais dû poster dans la section "Débuter" (bon, y'a pas mort d'homme non plus )
    Ok, merci je vais regarder ca

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 40
    Points : 18
    Points
    18
    Par défaut
    Voilà, j'ai résolu mon problème

    J'ai cherché sur google, mais j'ai pas trouvé.

    Sur mon programme je voudrais enregistrer des données dans un fichier, est ce qu'il existe un tuto, ou une documentation pour écrire et lire dans un fichier svp ?

    Merci

  5. #5
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Ouvre un nouveau topic stp; nouveau problème sans lien avec l'actuel => nouveau topic

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

Discussions similaires

  1. Traduction d'une fenetre secondaire
    Par hizoka dans le forum PyQt
    Réponses: 38
    Dernier message: 13/09/2016, 18h19
  2. Fenetre secondaire progressbar
    Par Invité dans le forum C#
    Réponses: 8
    Dernier message: 27/02/2012, 20h46
  3. Hide dans fenetre secondaire
    Par yann_DZ dans le forum VB.NET
    Réponses: 19
    Dernier message: 30/03/2010, 21h17
  4. Fenetre secondaire au premier plan
    Par Theleme dans le forum C++Builder
    Réponses: 12
    Dernier message: 27/10/2006, 00h10
  5. ouvrir une fenetre secondaire depuis 1 bouton
    Par TheBlackReverand dans le forum MFC
    Réponses: 7
    Dernier message: 16/03/2006, 22h02

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