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 :

Qt et layout

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 47
    Par défaut Qt et layout
    Salut j'essaie de faire une interface graphique en Qt et j'ai un probleme. 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 <QApplication>
    #include "MaFenetre.h" 
     
     
    int main(int argc, char *argv[])
    {
    	QApplication app(argc, argv);
     
    	MaFenetre fenetre;
     
    	fenetre.show();
     
    	return app.exec();
    }
    MaFenetre.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
     
    #include "MaFenetre.h"
    #include "Layout00.h"
     
    MaFenetre::MaFenetre() : QWidget()
    {
    	Layout00 layout00;
     
    	// le layout principal en grille 2x2
    	layoutPrincipal = new QGridLayout;
    	layoutPrincipal->addLayout(layout00, 0 , 0);
     
    	setLayout(layoutPrincipal);
    }
    MaFentre.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_MAFENETRE
    #define DEF_MAFENETRE
     
    #include <QApplication>
    #include <QWidget>
    #include <QGridLayout>
     
    class MaFenetre : public QWidget
    {
    	public:
    	MaFenetre();
     
    	private:
    	QGridLayout *layoutPrincipal;
     
    };
     
    #endif
    Layout00.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 "Layout00.h"
     
    Layout00::Layout00() : QGridLayout()
    {
    	layout00 = new QGridLayout;
     
    	// les 4 boutons
    	bouton1 = new QPushButton("Bouton1");
    	bouton2 = new QPushButton("Bouton2");
    	bouton3 = new QPushButton("Bouton3");
    	bouton4 = new QPushButton("Bouton4");
     
    	layout00->addWidget(bouton1, 0, 0);
    	layout00->addWidget(bouton1, 0, 1);
    	layout00->addWidget(bouton1, 1, 0);
    	layout00->addWidget(bouton1, 1, 1);
     
    	//setLayout(layout00);
     
    }
    Layout00.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
     
    #ifndef DEF_LAYOUT00
    #define DEF_LAYOUT00
     
    #include <QApplication>
    #include <QGridLayout>
    #include <QPushButton>
     
    class Layout00 : public QGridLayout
    {
    	public:
    	Layout00();
     
    	private:
    	QPushButton *bouton1;
    	QPushButton *bouton2;
    	QPushButton *bouton3;
    	QPushButton *bouton4;
    	QGridLayout *layout00;
    };
    Mon erreur à la compilation est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ~/workspace >qmake -project
    ~/workspace >qmake
    ~/workspace >make
    g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o MaFenetre.o MaFenetre.cpp
    ^[[A^[[AMaFenetre.cpp: In constructor ‘MaFenetre::MaFenetre()’:
    MaFenetre.cpp:10: erreur: no matching function for call to ‘QGridLayout::addLayout(Layout00&, int, int)’
    /usr/include/qt4/QtGui/qgridlayout.h:115: note: candidats sont: void QGridLayout::addLayout(QLayout*, int, int, Qt::Alignment)
    /usr/include/qt4/QtGui/qgridlayout.h:116: note:                 void QGridLayout::addLayout(QLayout*, int, int, int, int, Qt::Alignment)
    make: *** [MaFenetre.o] Erreur 1
    Merci de trouver le ou les erreurs.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Salut et bienvenue sur le forum
    Alors la je te dit stop tout de suite....

    Juste pour préciser quelques problème :
    1- tu hérite de GridLayout : pourquoi faire?
    2- tu essais de passer une instance sur un pointeur
    3- tu utilise une instance de Layout00 qui sera détruite juste après le constructeur

    Si tu commence aussi le C++, commence par apprendre les bases. Qt utilise différente notion qu'il faut mieux connaitre avant de commencer. Tu trouvera beaucoup de tuto, FAQ, ... sur dvp

    Et commence par regarder ces tutos :
    http://qt.developpez.com/doc/4.5/tut...ddressbook-fr/
    http://qt.developpez.com/tutoriels/introduction-qt/

    Tu repartira sur de bonne base

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 47
    Par défaut
    Est-ce que je pourrais juste avoir la correction de mon code pour le reste je devrais pouvoir me debrouiller avec un tuto deja fait.

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Mattorre Voir le message
    Est-ce que je pourrais juste avoir la correction de mon code pour le reste je devrais pouvoir me debrouiller avec un tuto deja fait.
    je t'ai déjà donné les problèmes

    1- tu hérite de GridLayout : pourquoi faire?
    2- tu essais de passer une instance sur un pointeur
    3- tu utilise une instance de Layout00 qui sera détruite juste après le constructeur

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 47
    Par défaut
    Tu pourrais etre plus explicite STP?

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Mattorre Voir le message
    Tu pourrais etre plus explicite STP?
    qu'es ce que tu ne comprend pas?

Discussions similaires

  1. [Layout-Date] Configuration par fichier
    Par Koko22 dans le forum Struts 1
    Réponses: 4
    Dernier message: 28/07/2004, 09h39
  2. JScrollPane non actif (layout)
    Par Oliveuh dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 21/07/2004, 10h50
  3. [struts]Documentation Struts-layout
    Par GreenJay dans le forum Struts 1
    Réponses: 5
    Dernier message: 14/06/2004, 11h51
  4. panel, layout et frame
    Par beLz dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 24/04/2004, 23h45
  5. [Débutant][swt][layout]
    Par Stessy dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 28/07/2003, 18h21

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