 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Vincent Derrien Guest
|
Posted: Tue Jan 04, 2005 4:30 pm Post subject: Problème avec la fonction connect() |
|
|
Je suis donc sous Linux avec une librairie QT.
Un de mes fichiers comprend un constructeur où est défini une méthode de
la façon suivante:
Code:
IntVector -> typedef QvalueVector<int>
public slots:
void mamethode (int, IntVector*);
Dans mon code j'ai juste ça sur cette méthode :
connect (news_tree_list, SIGNAL (nodeEntered (int, IntVector*)), this,
SLOT (mamethode(int, IntVector*));
L'appel de la méthode se fait donc par :
mamethode(int , IntVector*)
J'ai besoin d'initialisé les paramètres de cette méthode lorsque
l'instance de classe est créée. La première instance tout se passe bien.
Ensuite je quitte le module et je détruis cette instance de classe.
Lorsque je crée la deuxième instance de classe, mes paramètres n'ont pas
les mêmes valeurs que la première fois.
Ces types doivent désigner implicitement des variables, non?
Je ne connais pas cette façon de déclarer et d'utiliser de telles méthodes.
Ma question est donc comment manipuler les paramètres de ctte méthode
sachant que il n'y a rien comme:
mamethod (int monentier, IntVector monvecteur)
Merci pour vos réponses et j'espère avoir été le plus clair possible.
|
|
| Back to top |
|
 |
drkm Guest
|
Posted: Tue Jan 04, 2005 5:15 pm Post subject: Re: Problème avec la fonction connect() |
|
|
Vincent Derrien <vincent (AT) ahoup (DOT) net> writes:
| Quote: | Code:
IntVector -> typedef QvalueVector
public slots:
void mamethode (int, IntVector*);
|
C'est du C++, ça ?
--drkm
|
|
| Back to top |
|
 |
Vincent Derrien Guest
|
Posted: Tue Jan 04, 2005 6:17 pm Post subject: Re: Problème avec la fonction connect() |
|
|
drkm a écrit :
| Quote: | Vincent Derrien <vincent (AT) ahoup (DOT) net> writes:
Code:
IntVector -> typedef QvalueVector
public slots:
void mamethode (int, IntVector*);
C'est du C++, ça ?
--drkm
|
Oui ... en tout cas, c'est dans un morceau de code en C++ et QT d'un
programme sur lequel je me suis basé.
|
|
| Back to top |
|
 |
drkm Guest
|
Posted: Tue Jan 04, 2005 7:22 pm Post subject: Re: Problème avec la fonction connect() |
|
|
Vincent Derrien <vincent (AT) ahoup (DOT) net> writes:
| Quote: | drkm a écrit :
Vincent Derrien <vincent (AT) ahoup (DOT) net> writes:
Code:
IntVector -> typedef QvalueVector
public slots:
void mamethode (int, IntVector*);
C'est du C++, ça ?
Oui ...
|
Et pourtant ...
| Quote: | en tout cas, c'est dans un morceau de code en C++ et QT d'un
programme sur lequel je me suis basé.
|
Ah (ça me reviens maintenant), je me demande si Qt n'utilise pas un
préprocesseur maison pour gérer des extensions propres. Exact ?
--drkm
|
|
| Back to top |
|
 |
Loïc Joly Guest
|
Posted: Tue Jan 04, 2005 8:01 pm Post subject: Re: Problème avec la fonction connect() |
|
|
drkm wrote:
| Quote: | drkm a écrit :
Vincent Derrien <vincent (AT) ahoup (DOT) net> writes:
[QT, signal, slot] |
| Quote: | C'est du C++, ça ?
Ah (ça me reviens maintenant), je me demande si Qt n'utilise pas un
préprocesseur maison pour gérer des extensions propres. Exact ?
|
Si, il utilise un préprocesseur (nommé moc) pour faire ce genre de choses.
Pour le problème initial, je pense qu'il s'agit juste d'un problème de
C++ :
Rien n'empêche quand une fonction est déclarée :
void mamethode (int, IntVector*);
De l'implémenter :
void mamethod (int monentier, IntVector *monvecteur) {}
Et rien n'empêche de la déclarer directement avec les paramètres, et de
l'utiliser avec connect.
--
Loïc
|
|
| Back to top |
|
 |
Gabriel Dos Reis Guest
|
Posted: Tue Jan 04, 2005 8:22 pm Post subject: Re: Problème avec la fonction connect() |
|
|
drkm <usenet.fclcxx (AT) fgeorges (DOT) org> writes:
| Quote: | Vincent Derrien <vincent (AT) ahoup (DOT) net> writes:
drkm a écrit :
Vincent Derrien <vincent (AT) ahoup (DOT) net> writes:
Code:
IntVector -> typedef QvalueVector
public slots:
void mamethode (int, IntVector*);
C'est du C++, ça ?
Oui ...
|
Non.
| Quote: |
Et pourtant ...
en tout cas, c'est dans un morceau de code en C++ et QT d'un
programme sur lequel je me suis basé.
Ah (ça me reviens maintenant), je me demande si Qt n'utilise pas un
préprocesseur maison pour gérer des extensions propres. Exact ?
|
Oui. Voir moc.
-- Gaby
|
|
| Back to top |
|
 |
drkm Guest
|
Posted: Tue Jan 04, 2005 9:39 pm Post subject: Re: Problème avec la fonction connect() |
|
|
Loïc Joly <loic.actarus.joly (AT) wanadoo (DOT) fr> writes:
| Quote: | Pour le problème initial, je pense qu'il s'agit juste d'un problème de
C++ :
Rien n'empêche quand une fonction est déclarée :
void mamethode (int, IntVector*);
De l'implémenter :
void mamethod (int monentier, IntVector *monvecteur) {}
|
En effet, ça devrait être ce que le PO cherche. J'avoue que je n'ai
pas lu tout l'article attentivement, lorsque j'ai vu les bizareries
MOC.
Sans doute peut-il même remplacer :
SLOT (mamethode(int, IntVector*));
par :
SLOT (mamethode(int monentier, IntVector* monvecteur));
Mais ÀMHA, s'il veut utiliser MOC, ou Zorglub, il devra investir
dans son apprentissage.
--drkm
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|