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 :

Ajouter un QLabel dans une fenêtre

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 110
    Par défaut Ajouter un QLabel dans une fenêtre
    Bonjours,
    Alors je debute avec Qt4 et le GUI.

    Je voudrait pouvoir ajouter un QLabel a la fenêtre de base lorsqu'on créé un nouveau projet avec QT il me semble qu'il y ait une histoire avec une méthode addWidget(leWidgetEnQuestion) mais je n'en suis pas certain.

    voici mon .h (caseBlanche.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 CASEBLANCHE_H
    #define CASEBLANCHE_H
     
    #include <QLabel>
     
    class CaseBlanche
    {
        private :
            QLabel *blanc;
     
        public :
            CaseBlanche();
            ~CaseBlanche();
            CaseBlanche(const CaseBlanche&);
            CaseBlanche& operator=(const CaseBlanche&);
     
    };
     
    #endif // CASEBLANCHE_H
    le fichier caseBlanche.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
     
    #include "CaseBlanche.h"
     
    CaseBlanche::CaseBlanche()
    {
        this->blanc = new QLabel();
        this->blanc->setPixmap(QPixmap("noir.jpg"));
     
    }
    CaseBlanche::CaseBlanche(const CaseBlanche& cb)
    {
        blanc = cb.blanc;
    }
     
    CaseBlanche::~CaseBlanche()
    {
        delete this->blanc;
    }
    CaseBlanche& CaseBlanche::operator =(const CaseBlanche& cb)
    {
        if(&cb != this)
        {
            blanc = cb.blanc;
        }
        return *this;
    }
    et le fichier main:

    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
     
    #include <QtGui/QApplication>
    #include "mainwindow.h"
    #include "CaseBlanche.h"
     
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
     
        CaseBlanche c;
        MainWindow w;
        /*ici je suis censé faire w.addWidget(c);
           mais je n'ai meme pas cette méthode qui apparait dans les choix*/
        w.show();
     
        return a.exec();
    }
    Une idée ?
    Dans l'attente de vous lire.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 93
    Par défaut
    Pour lier un widget à un autre il faut qu'il y est un lien de "parenté" entre eux.
    Il te suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this->blanc = new QLabel(this);
    Mais si tu veux être propre, je te conseillerai de passer par un layout pour que cela puisse se redimensionner.
    Il te suffit de faire :

    dans caseBlanche.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class CaseBlanche
    {
        private :
            QLabel *blanc;
            QVBoxLayout *layout;
    .... 
    };
    et dans caseBlanche.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CaseBlanche::CaseBlanche()
    {
        layout = new QVBoxLayout();
        blanc = new QLabel();
        setLayout(layout);
        layout->addWidget(blanc, 1, Qt::AlignVCenter | Qt::AlignHCenter);
     
        blanc->setPixmap(QPixmap("noir.jpg"));
     }

Discussions similaires

  1. [Débutant] ajouter un bouton dans une fenêtre en mode console
    Par stracoma dans le forum VB.NET
    Réponses: 2
    Dernier message: 07/09/2014, 21h17
  2. Réponses: 1
    Dernier message: 30/10/2013, 20h15
  3. Creation d'un formulaire permettant d'ajouter des information dans une autre fenêtre
    Par @rno0059 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 22/06/2007, 07h47
  4. Ajout de 'raccourcis' dans une fenêtre standard 'Ouvrir'
    Par Laurent Dardenne dans le forum Windows
    Réponses: 4
    Dernier message: 08/03/2005, 18h53

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