Qtfr

La communauté francophone

Annonce

La dernière version de Qt est sortie : Qt 4.6.3, ainsi qu'une mise à jour du SDK : Qt SDK 2010.04. QtCreator est en version : 2.0.1

La documentation de Qt 4.6 traduite en français est disponible : http://qt.developpez.com/doc/4.6/index/

Forum Qtfr

La communauté francophone

Vous n'êtes pas identifié.

#1 31-07-2010 01:46:11

rvbp13
Membre
Date d'inscription: 31-07-2010
Messages: 2

[Qt]Acceder à des objet créé à la volée

Bonjour à tous,

Pour le besoins d'un formulaire dans mon application je cherche à créer un nombre N de Tab dans un QTabWidget qui recevront pour affichage le meme formulaire correspondant au N entité dans mon formulaire à besoin pour etre renseigné.
Pas de probleme pour la creation je crée à la volé un nombre N de Tab avec N fois mon formulaire affiché, donc mon probleme est le suivant comment recupéré la valeur de mes champs sachant que pour la création des Tabs et des formulaire j'utilise une boucle et donc tout les objet (QLineEdit...) ont du coup le meme nom...
Si quelqu'un connait une methode ou un exemple, je suis preneur.
J'ai deja entendu parlé de QPushButton pouvant etre créé sous forme de matrice (plus ou moins), je pense que la solution s'en rapproche mais je ne me rappel plus le nom de cet méthode

Merci d'avance

ps : mon code...

dans le .h je declare mon QLineEdit *ligne;

dans le .cpp j'instancie :
for(int i = 0; i < seuil; i++)
{
      ligne = new QLineEdit(this);
      ...
     
      QWidget widget = new QWidget(this);
      QFormLayout *layout = new QFormLayout(this);
      layout->addWidget(ligne);

      widget->setLayout(layout);
      MonTabWidget.addTab(widget);
}

voila j'espere avoir été clair dans mes explications

Hors ligne

 

#2 31-07-2010 09:25:32

daddou
Membre
Date d'inscription: 26-10-2008
Messages: 96

Re: [Qt]Acceder à des objet créé à la volée

Je pense que tu as besoin d'une  QList
Un petit exemple:
.h

Code:

class taClass
{
public:
 ...
private:
QList<QLineEdit*> taList;
...

};

.cpp

Code:

for(int i = 0; i < seuil; i++)
{
      ligne = new QLineEdit(this);
      taList.append(ligne); 
     ...
     
}

L'attribut "taList" te permettra de stocker les pointeurs dont tu as besoin

Dernière modification par daddou (31-07-2010 09:26:36)

Hors ligne

 

#3 31-07-2010 15:44:48

rvbp13
Membre
Date d'inscription: 31-07-2010
Messages: 2

Re: [Qt]Acceder à des objet créé à la volée

Salut ,

D'abord merci pour ta réponse, j'ai déjà essayer cet solution la, mais le compilateur gueule lors de l'insertion de mon QLineEdit au sein du layout... je pense que c'est le fait de lui passé un pointeur en paramètre, lui il attend une référence.
J'ai également testé la solution suivante : attribuer un AccessibleName unique à mes QLineEdit du genre "LineEdit1", "LineEdit2" etc... j'arrive juste à récupérer la dernière entité créé...

J'ai également pris la décision de ne plus utiliser cet méthode, compte tenu le nombre de ressources consommées, mais je reste curieux, et je compte bien trouver la solution à ce sujet.
J'ai déjà vaguement entendu parler d'une méthode de création de QPushButton à la volée, donc j'imagine que l'algorithme doit être à peu près similaire, d'ailleurs si quelqu'un voit de quoi je parle je suis preneur d'infos !!!

A bon entendeur, merci et merci également pour vos réponses à venir.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr