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 :

Créer un nombre important de boutons

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut Créer un nombre important de boutons
    Bonjours, j'ai une application avec 1264 boutton, et je voudrai si je pouvais creer un fichier par exemple button.h et inclure dedans tous mes bouttons.

    Mes bouton ressemble a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    btn_ciel = new QPushButton("ciel");
    Après pour les appeler ce serai comme pour des variable :
    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 111
    Par défaut
    je pense que tu peux utiliser un tableau ou un QVector, mais je n'ai jamais essayé ça.

  3. #3
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    ou alors je m'y prends mal est existe une solution ?

  4. #4
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Citation Envoyé par thebarbarius Voir le message
    Bonjours, j'ai une application avec 1264 boutton, et je voudrai si je pouvais creer un fichier par exemple button.h et inclure dedans tous mes bouttons.
    Oui tu peux... mais :
    - ce n'est pas très sur (risque d'erreur important), pratique (beaucoup de code à taper/copier/coller) et évolutif (modifier les boutons)
    - ce n'est pas une bonne idée de mettre dans le fichier d'en-tête


    Il faudrait créer tes boutons dynamiquement, dans une boucle for par exemple et les mettre dans un QVector (si tu as besoin de garder un pointeur vers eux) ou directement dans des QLayout. Pour les signaux/slots, il faut passer par un QSignalMapper.

  5. #5
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Pourrais tu me donner la solution avec un fichier d'en tete, comme je l'ai spécifié ?

    Sa m’intéresse énormément.

  6. #6
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    ? je n'ai pas compris ta question

    Tu sais créer un bouton, tu en fais 1264 et tu les mets dans le .h, non ? Tu veux faire comment sinon ?

  7. #7
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Par défaut
    Alors j'ai essayé mais sa marche pas.

    mafenetre.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	groupBoxPrincipal = new QGroupBox("GroupBox 1", this);
    	layout1 = new QVBoxLayout();
    	layout1->addWidget(btn_1);
    	groupBoxPrincipal->setLayout(layout1);
    mafenetre.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
    31
    32
    33
    34
    35
    36
     
    #ifndef DEF_MAFENETRE
    #define DEF_MAFENETRE
     
    #include <QtGui/QApplication>
    #include <QtGui/QGroupBox>
    #include <QtGui/QPushButton>
    #include <QtGui/QWidget>
    #include <QtGui/QTabWidget>
    #include <QtGui/QLabel>
    #include <QtGui/QGridLayout>
    #include <QtGui/QVBoxLayout>
     
    class MaFenetre : public QWidget
    {
        Q_OBJECT
     
        public:
        MaFenetre();
     
     
     
    	private :
    		QHBoxLayout layoutPrincipal;
    		QGroupBox *groupBoxPrincipal;
    		QGroupBox *groupBox1;
    		QGroupBox *groupBox2;
    		QGroupBox *groupBox3;
    		QVBoxLayout *layout1;
    		QVBoxLayout *layout2;
    		QVBoxLayout *layout3;
     
    		btn_1 = new QPushButton("test");
    };
     
    #endif
    error :
    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
     
    #ifndef DEF_MAFENETRE
    #define DEF_MAFENETRE
     
    #include <QtGui/QApplication>
    #include <QtGui/QGroupBox>
    #include <QtGui/QPushButton>
    #include <QtGui/QWidget>
    #include <QtGui/QTabWidget>
    #include <QtGui/QLabel>
    #include <QtGui/QGridLayout>
    #include <QtGui/QVBoxLayout>
     
    class MaFenetre : public QWidget
    {
        Q_OBJECT
     
        public:
        MaFenetre();
     
     
     
    	private :
    		QHBoxLayout layoutPrincipal;
    		QGroupBox *groupBoxPrincipal;
    		QGroupBox *groupBox1;
    		QGroupBox *groupBox2;
    		QGroupBox *groupBox3;
    		QVBoxLayout *layout1;
    		QVBoxLayout *layout2;
    		QVBoxLayout *layout3;
     
    		btn_1 = new QPushButton("test");
    };
     
    #endif

  8. #8
    Responsable Qt & Livres


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

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Citation Envoyé par thebarbarius Voir le message
    error :
    Elle ressemble furieusement à ton fichier d'en-tête !

    Sinon, tu comptes faire gober ça à un compilateur en dehors d'une fonction ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    btn_1 = new QPushButton("test");
    Ça, c'est dans le constructeur que ça doit être fait.
    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 !

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/10/2007, 14h14
  2. [Composants] Schématiser un nombre important de fichiers sources ?
    Par HiKo dans le forum Autres Diagrammes
    Réponses: 3
    Dernier message: 04/06/2007, 21h55
  3. Réponses: 12
    Dernier message: 25/05/2007, 16h28
  4. Réponses: 6
    Dernier message: 14/12/2006, 11h36
  5. Réponses: 8
    Dernier message: 10/05/2006, 22h50

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