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

  FORUM HardWare.fr
  Programmation
  C++

  [Débutant][QT4] De l'aide pour un signal/slot

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Débutant][QT4] De l'aide pour un signal/slot

n°1639321
Joker28
Posté le 08-11-2007 à 16:19:48  profilanswer
 

Yop!!
 
Je crée dynamiquement des boutons à partir d'un click de l'utilisateur sur un bouton.
Ces boutons sont crées de la manière siuvante :
 

Code :
  1. QPushButton  *buttonTab[MAX];
  2. buttonTab[number] = new QPushButton(ui.frame);


 
"number" est un attribut local à une autre fonction qui appelle celle-ci. Il représente en gros le numéro du bouton (l'index).
Dans la fonction qui crée ce bouton, je crée également un CONNECT de la mnière suivante :
 

Code :
  1. CONNECT( buttonTab[number], clicked(), this, slideVideo() );


 
La fonction slideVideo est la suivante :
 

Code :
  1. void UserInterface::slideVideo( )
  2. {
  3.        
  4.      timeToGo = tableauUser[number].tpsBegin;
  5.                        
  6.      test.sliderUpdate( timeToGo );
  7.      
  8. }


 
Le problème est qu'à la compilation, il ne connait pas "number" puisque c'est un attribut local d'une autre fonction.
Néanmoins, ça ne fonctionne pas non plus si je le passe nen attribut global de la classe (il me garde l'index du dernier bouton crée) ou si j'essaye de faire :
 

Code :
  1. CONNECT( buttonTab[number], clicked(int), this, slideVideo(int) );


 
Puis en appelant ma fonction slideVideo avec ce paramètre (ça me semble normal mais bon ça coûte rien d'essayer  :) )
 
Si quelqu'un sait comment je peux récupérer l'index du bouton sur lequel l'utilisateur clique, ça serait sympa de me filer des indications...
 
Merci d'avance!


Message édité par Joker28 le 08-11-2007 à 16:21:15
mood
Publicité
Posté le 08-11-2007 à 16:19:48  profilanswer
 

n°1641038
farib
Posté le 11-11-2007 à 16:44:33  profilanswer
 
n°1642434
Dumbledore
Posté le 13-11-2007 à 21:07:41  profilanswer
 

Code :
  1. connect(objet_source, SIGNAL(signal_toto()), objet_dest, SLOT(slot_toto()) );


 
Un signal doit être défini dans la classe que ton objet_source instancie
Un slot, c'est pareil pour l'objet destination et en plus il doit être implémenté.
 
Tu devrais faire les tutos, ils sont bien documentés

n°1642462
IrmatDen
Posté le 13-11-2007 à 22:24:30  profilanswer
 


+10
 
Dumbledore> je vois pas le rapport avec sa question :s

n°1644437
Dumbledore
Posté le 17-11-2007 à 14:38:03  profilanswer
 

son code là :

Code :
  1. CONNECT( buttonTab[number], clicked(), this, slideVideo() );

 
n'est pas bon
 
Sinon, en effet, j'avais pas pensé au signal mapper (que j'ai encore jamais eu l'occasion d'utiliser en fait)


Message édité par Dumbledore le 17-11-2007 à 14:40:04
n°1644452
IrmatDen
Posté le 17-11-2007 à 14:59:18  profilanswer
 

Oula oui pardon je devais pas être réveillé quand j'ai lu son post http://www.pcinpact.com/forum/style_emoticons/default/transpi.gif  (ceci dit, je pense à une erreur de copie, parce qu'il aurait eu une erreur de compil autre que celle dont il parle).


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

  [Débutant][QT4] De l'aide pour un signal/slot

 

Sujets relatifs
Débutant inside : Problème de 0 à gauche dans un nombre.[debutant] java:NullPointerException
aide pour créer son site internet ![Débutant] Trier un tableau
Aide: conio.h ![Debutant] probleme boucle
aide pour programmer PHP et javascriptAide pour comprendre une fonction
Besoin d aide pour Mettre a jour Mysql avec un formulaireaide sur VBS Ajout pilote imprimante
Plus de sujets relatifs à : [Débutant][QT4] De l'aide pour un signal/slot


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