Je travaille sur une application Qt multi-thread et j'aimerais connecter un signal dans un thread avec slot dans un autre thread. Mon problème est que je n'ai que la chaîne utilisée pour définir le QObject:objectName
dans le thread de signalisation qui est défini dans un fichier constantes de projet.Recherche d'un objet QObject
Mon objectif global est d'éviter de devoir passer des pointeurs vers des objets situés à plusieurs couches au sein d'autres objets. Je l'ai fait par le passé et même si cela fonctionne, cela ajoute beaucoup de complexité au code. Et c'est une solution très peu élégante au problème.
Ce que je voudrais faire est de faire une recherche globale à travers tous les QObjects dans mon application pour trouver celle qui correspond au nom. En lisant la documentation de Qt, il y a beaucoup de discussions sur la façon de rechercher des objets enfants de l'actuel ou vous pouvez rechercher en utilisant des classes parentes. Mais avec des objets dans différents threads, cela ne semble pas fonctionner. En particulier, comme l'objet qui effectue la connexion n'a pas un accès direct au QThread qui possède l'objet faisant la signalisation.
Des suggestions?
Lien très intéressant. Merci! –