[Qt] signal de QFileDialog

signal de QFileDialog [Qt] - C++ - Programmation

Marsh Posté le 25-01-2006 à 11:34:31    

Bonjour :hello:
 
J'ai un petit problème avec Qt (version 4.0).
 
J'ai construit une QFileDialog et je veux ajouter une fonction quand cette QFileDialog se ferme (en faite j'affiche une fenêtre ouvrir le fichier, mais vu que c'est customiser je n'utilise pas la fonction getmachinchose).
 
Bref, j'ai déjà essayer plusieur signaux sans résultat :
 

Code :
  1. connect(*ptr1,SIGNAL(filesSelected ( const QStringList & )),this,SLOT(fct(const QStringList & ))); // pas de résultat
  2. connect(*ptr1,SIGNAL(accepted()),this,SLOT(fct())) ; // pas de résultat
  3. connect(*ptr1,SIGNAL(finished(int)),this,SLOT(fct())) ; // pas de résultat
  4. // ...  
  5. //fct de test :
  6. void myclass::fct(/*...*/) // signature variant suivant le signal tester
  7. {
  8. int albert ;
  9. int enstein ;
  10. albert = 7 ; //  breakpoint
  11. if (albert==enstein)
  12. {
  13.  albert+=enstein ;
  14. }
  15. }


 
Voilà je ne sait pas quelle signal il faut intercepter (je précise que j'arrive à intercepter d'autre signaux provenant d'autre controleur). Merci par avance  :bounce:

Reply

Marsh Posté le 25-01-2006 à 11:34:31   

Reply

Marsh Posté le 26-01-2006 à 09:11:12    

up :bounce:
Personnne connait Qt ici ?

Reply

Marsh Posté le 26-01-2006 à 13:50:21    

Salut,
 
J'ai un peu de mal à saisir ce que tu fais.
Si tu as créé une classe dérivée de QFileDialog, tu peux essayer de réimplementer QDialog::accept(). Sinon, tu peux essayer de le faire :)
 
Par contre, je n'ai rien trouvé dans la doc (ni de la 4.0, ni de la 3.3) concernant les signaux accepted et finished. T'as trouvé ça où?

Reply

Marsh Posté le 26-01-2006 à 19:22:06    

Non ma classe n'est pas dérivée, mais j'ai saisi le problème.
En faite je créait un pointeur sur QFileDialog et on peut pas connecté le pointeur sur un QObject avant que celui-ci soit crée.
 
 
J'ai une petite question : dans les constructeurs d'object de type dérivé de QWidget, il y a plusieur déclaration de pointeur d'objet Qt (avec notamment des

Code :
  1. new

, or je n'ai jamais vu un seul

Code :
  1. delete

dans les destructeurs (ni nulle part ailleurs) : est ce normal ?

Reply

Marsh Posté le 27-01-2006 à 14:12:52    

Oui, ça fait partie du système des méta objet (QObject et moc).
Il y a un système tout bête de smart pointer qui delete automatiquement l'objet dès qu'il n'est plus utilisé ou que son parent est supprimé.
Ca permet aussi d'utiliser le même objet à plusieurs endroits de ton code sans faire de copie coûteuse et inutile dans certains cas.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed