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 :

L'ajout d'un bouton n'apparait pas

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 14
    Par défaut L'ajout d'un bouton n'apparait pas
    Bonjour,

    Pfff... bon là j'vois pas ce qui empèche ce programme de pas faire ce que je veux.

    En bon newbie, je me fais une petite appli test où j'aimerais en cliquant sur un bouton créer d'autres bouton les uns alignés aux autres. Un autre bouton me permet de supprimer la liste des boutons créés. Chaque bouton créé est stocké dans un QVector.

    Mais j'ai un problème : la suppression fonctionne bien mais pour ce qui concerne la création, seuls les boutons créés depuis mon constructeur apparaissent. Les autres sont semble-t-il créés (quelque part ? où ?) mais n'apparaissent pas dans mon Widget.

    Voici mon code :

    dockmenu.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
     
    #ifndef DOCKMENU_H
    #define DOCKMENU_H
     
    #include <QApplication>
    #include <QWidget>
    #include <QtGui>
    #include <QVector>
     
    class DockMenu : public QWidget
    {
    Q_OBJECT
    public:
        DockMenu();
    public slots:
        void addMenu();
        void delMenu();
    private:
        QVector<QPushButton*> objVector;
        QPushButton *m_addButton, *m_delButton;
        QLabel *m_label;
    };
     
    #endif // DOCKMENU_H
    dockmenu.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
     
    #include "dockmenu.h"
     
    DockMenu::DockMenu() : QWidget()
    {
        setFixedSize(256, 300);
        m_addButton = new QPushButton("Add a menu", this);
        m_delButton = new QPushButton("Del a menu", this);
        m_delButton->move(0, 20);
        m_label = new QLabel(this);
        m_label->move(50,50);
        m_label->resize(50,50);
        m_label->setAlignment(Qt::AlignCenter | Qt::AlignHCenter);
        m_label->setFrameStyle(QFrame::Box);
     
        addMenu(); // là ça marche !
        addMenu(); // là ça marche !
        addMenu(); // là ça marche !
     
        QObject::connect(m_addButton,SIGNAL(clicked()), this, SLOT(addMenu())); // depuis le bouton ça marche pas...
        QObject::connect(m_delButton,SIGNAL(clicked()), this, SLOT(delMenu()));
    }
     
    void DockMenu::addMenu()
    {
        objVector.push_back(new QPushButton(this));
        int nbObject = objVector.count();
        m_label->setText(QString::number(nbObject));
        nbObject -= 1;
        objVector[nbObject]->setText(QString::number(nbObject+1));
        objVector[nbObject]->move(150,45*nbObject);
        objVector[nbObject]->resize(100,50);
     
    }
    void DockMenu::delMenu()
    {
        if (objVector.count() > 0)
        {
            m_label->setText(QString::number(objVector.count() - 1));
            delete objVector[objVector.count() - 1];
            objVector.pop_back();
        }
    }
    Quelqu'un aurait-il une idée de ce qui ne va pas ?
    Merci de votre aide !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 14
    Par défaut
    OK... je viens de trouver. C'est tout bête mais 'faut le savoir

    En fait il me manquait l'instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objVector[nbObject]->show();
    en fin de ma fonction addMenu()

    Je vous l'accorde c'est pas très malin de ma part, mais bon c'est comme ça qu'on apprend aussi.

    Du coup j'ai écris tout ça pour rien. Enfin... non peut-être pas. Ca peut en aider d'autres

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

Discussions similaires

  1. Liste déroulante dans cellule. Bouton n'apparait pas
    Par pat91 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/05/2010, 16h23
  2. Mon bouton n'apparait pas
    Par dsant dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 26/02/2010, 00h08
  3. [Joomla!] Notification "info le produit a ete ajouter a votre panier" n'apparait pas
    Par flexi2202 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 27/04/2009, 16h25
  4. Liste déroulante dans cellule. Bouton n'apparait pas
    Par JML62400 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/02/2009, 06h44
  5. Réponses: 8
    Dernier message: 01/03/2008, 13h33

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