Question

Qt utilise des signaux et des slots normalement dans un seul thread. L'appel d'un signal appelle donc un slot du même signal de thread que celui appelé. Est-il possible d'utiliser un mécanisme de slot de signal pour transmettre un message au thread qt (donc slot sera appelé ultérieurement dans le contexte du thread spécifié)?

Était-ce utile?

La solution

Signaux et fentes dans les discussions qui se trouvent sur la page de démarrage de la documentation officielle sur Qt .

Autres conseils

Je pense que la méthode habituelle consiste à faire en sorte que le gestionnaire de signaux mette en file d'attente une autre fonction (en utilisant boost :: bind ou une fonction similaire), puis à l'exécuter ultérieurement par la file d'attente de threads cible.

Au moins avec Qt4, ce n’est pas un problème du tout.Vous devez simplement configurer la connexion quelque part lorsque vous avez des variables pointant vers les deux threads. (c'est-à-dire généralement dans main ())

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top