Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2709 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  QT et QStringListModel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

QT et QStringListModel

n°1772233
Digaboy
Posté le 11-08-2008 à 22:37:24  profilanswer
 

Bonjour

 

Je viens de me mettre à QT et j'ai un petit soucis. Donc j'essaie de faire un menu de selection assez classique.
Pour le moment j'ai quelque chose qui ressemble à ça:

 

http://www.zimagez.com/miniature/pbmvc.jpg

 


Ce que j'essaie de faire c'est que lorsque l'on clique sur une fleche ça transmet l'élément d'un coté et de l'autre. Le problème c'est quand je clique il se passe rien alors que la variable elementSelectionne contient bien quelque chose.

 

Voici mon code

 


Fichier FenPrincipal.cpp

Code :
  1. #include "FenPrincipale.h"
  2. FenPrincipale::FenPrincipale()
  3. {
  4.     //Zone Gauche
  5.     listePaysGauche = new QStringList;
  6.     *listePaysGauche << "France" << "Espagne" << "Italie" << "Portugal" << "Suisse";
  7.     modeleGauche = new QStringListModel(*listePaysGauche);
  8.     vueGauche = new QListView ;
  9.     vueGauche->setModel(modeleGauche);
  10.     vueGauche->setSelectionMode(QAbstractItemView::ExtendedSelection);
  11.     //Zone milieu pour boutons
  12.     flecheDroite = new QPushButton(">" );
  13.     flecheDoubleDroite = new QPushButton(">>" );
  14.     flecheGauche = new QPushButton("<" );
  15.     flecheDoubleGauche = new QPushButton("<<" );
  16.     QVBoxLayout *layoutbouton = new QVBoxLayout;
  17.     layoutbouton->addWidget(flecheDroite);
  18.     layoutbouton->addWidget(flecheDoubleDroite);
  19.     layoutbouton->addWidget(flecheGauche);
  20.     layoutbouton->addWidget(flecheDoubleGauche);
  21.     //Zone droite
  22.     listePaysDroite = new QStringList;
  23.     listePaysDroite->append("Russie" );
  24.     modeleDroite = new QStringListModel(*listePaysDroite);
  25.     vueDroite = new QListView ;
  26.     vueDroite->setModel(modeleDroite);
  27.     vueDroite->setSelectionMode(QAbstractItemView::ExtendedSelection);
  28.     //Layout principal
  29.     QHBoxLayout *layoutCentral = new QHBoxLayout;
  30.     layoutCentral->addWidget(vueGauche);
  31.     layoutCentral->addLayout(layoutbouton);
  32.     layoutCentral->addWidget(vueDroite);
  33.     setLayout(layoutCentral);
  34.    connect(flecheDroite, SIGNAL(clicked()), this, SLOT(clicFlecheDroite())); 
  35. }
  36. void FenPrincipale::clicFlecheDroite()
  37. {
  38.     QItemSelectionModel *selection = vueGauche->selectionModel();
  39.     QModelIndexList listeSelections = selection->selectedIndexes();
  40.     QString elementsSelectionnes;
  41.     for (int i = 0 ; i < listeSelections.size() ; i++)
  42.     {
  43.         QVariant elementSelectionne = modeleGauche->data(listeSelections[i], Qt::DisplayRole);
  44.         listePaysDroite->append(elementSelectionne.toString());
  45.     }
  46. }
  

Fichier FenPrincipal.h

Code :
  1. #ifndef FENPRINCIPALE_H_
  2. #define FENPRINCIPALE_H_
  3. #include <QApplication>
  4. #include <QtGui>
  5. class FenPrincipale : public QWidget
  6. {
  7.     Q_OBJECT
  8.     public:
  9.         FenPrincipale();
  10.     private slots:
  11.        void clicFlecheDroite();
  12.     private:
  13.      QListView *vueGauche;
  14.      QStringListModel *modeleGauche;
  15.      QListView *vueDroite;
  16.      QStringListModel *modeleDroite;
  17.      QStringList *listePaysGauche;
  18.      QStringList *listePaysDroite;
  19.      QPushButton *flecheDroite;
  20.      QPushButton *flecheDoubleDroite;
  21.      QPushButton *flecheGauche;
  22.      QPushButton *flecheDoubleGauche;
  23. };
  24. #endif /* FENPRINCIPALE_H_ */



Message édité par Digaboy le 11-08-2008 à 23:06:20
mood
Publicité
Posté le 11-08-2008 à 22:37:24  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  QT et QStringListModel

 

Sujets relatifs
affichage d'un compte à rebours avec Qtproblème Signal/Slot avec classes imbriquées avec Qt
Plus de sujets relatifs à : QT et QStringListModel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR