Partage
  • Partager sur Facebook
  • Partager sur Twitter

Echanger un QString entre 2 slots

16 janvier 2020 à 0:29:34

Salut, je travaille sur un logiciel sous Qt Creator, j'ai un bouton "choisir un fichier" et un autre "sauvegarder le fichier".

J'ai écrit un slot pour sélectionner le fichier en appuyant sur le bouton, je récupère alors le chemin du fichier dans un QString avec ce slot.
Puis un 2ème slot qui sauvegarde le fichier, seulement il faut le chemin pour sauvegarder !
Je comprends pas comment faire, je sais échanger un paramètre entre signal et slot, mais pas entre 2 slots !

Si je déclare un QString chemin en attribut de la classe, est-ce qu'il aura la même valeur dans toutes les méthodes/slots ? normalement non car ce n'est pas une variable globale ?

C'est une question de débutant mais là je suis perdu. J'ai essayé plein de choses mais le programme plante ou ne compile pas ou ne fait pas ce que je veux.
Comment faire ? Est-ce qu'il faut s'y prendre autrement pour sauvegarder le fichier ?

Edit: finalement ça marche, je comprends pas ce qui s'est passé mais après des heures d'acharnement le fichier est sauvegardé avec le slot "sauvegarder". Peut-être la méthode close() qui a résolu ça...

En revanche je veux toujours savoir si on peut échanger un paramètre entre 2 slots, et comment. Je sens que ça peut être utile, dites moi si je me trompe.

-
Edité par HexaBin1 16 janvier 2020 à 1:57:38

  • Partager sur Facebook
  • Partager sur Twitter
16 janvier 2020 à 18:17:23

Si je déclare un QString chemin en attribut de la classe, est-ce qu'il aura la même valeur dans toutes les méthodes/slots ? normalement non car ce n'est pas une variable globale ?

=> au sein de la classe si il  la même valeur avec le this ->

tu récup le param de la méthode slot(clic ou autre) et avec un objet d' une classe sauvegarde => Sauvegarde.cpp tu assignes le param à la valeur de l'attribut de ton objet Sauvegarde (ou autre nom=> ce que tu veux )

-
Edité par alex5956 16 janvier 2020 à 18:22:12

  • Partager sur Facebook
  • Partager sur Twitter
17 janvier 2020 à 11:47:00

si d'autres questions vas y balances ! ;-)
  • Partager sur Facebook
  • Partager sur Twitter