Quelqu'un peut-il expliquer pourquoi je crée dans les emplacements publics qt mais pas les signaux public
?emplacements publics mais pas les signaux en qt
Répondre
Les emplacements sont des fonctions normales et peuvent être publics, privés ou protégés.
Les signaux sont toujours protégés lorsqu'ils sont générés par le programme 'moc'.
Mais notez ceci (de quelques old Qt 4.1 docs):
Depuis les créneaux horaires sont les fonctions membres normales, ils suivent les règles C++ normales lorsqu'il est appelé directement. Cependant, en tant que slots, ils peuvent être appelés par n'importe quel composant, quel que soit son niveau d'accès, via une connexion slot-signal. Cela signifie qu'un signal émis par une instance d'une classe arbitraire peut provoquer l'invocation d'un emplacement privé dans une instance d'une classe non liée.
merci j'ai compris une autre petite question Si j'ai par exemple deux signaux dans ma classe, comment qt sait lequel pourrait être appelé? (parce que j'ai compris que je n'ai pas besoin d'implémenter des signaux) – lindows
Les signaux ne sont pas appelés, ils sont 'émis' en utilisant le mot clé 'emit'. Les slots auxquels ils sont connectés via 'QObject :: connect' sont automatiquement appelés quand cela arrive. – sje397
ok, dans ce tutoriel 'http: // doc.trolltech.com/4.3/tutorial-t7.html', ils n'utilisent pas le mot-clé' emit' mais ils utilisent le signal personnalisé 'valueChanged', j'ai essayé de le changer pour Signal "vChanged" et reçu le même effet, il est donc difficile de comprendre si je par exemple ajouter un signal de plus sans implémentation (parce que j'ai compris que l'implémentation est faite dans un fichier méta-objet) ce programme fonctionnera-t-il? – lindows
SLOTS
sont des fonctions qui peuvent être publiques, privées ou protected.Functions sont appelés de ne importe où par exemple avec de la classe ou en dehors du class.But SIGNALS
sont comme des événements et il devrait être émis au sein de la classe ou de la classe héritée donc SIGNALS
sont toujours protégés.
- 1. Qt - arguments dans les emplacements de signaux
- 2. Quels sont exactement les signaux et les emplacements dans Qt?
- 3. À propos des signaux et des emplacements en qt
- 4. Signaux et emplacements avec Qtoolbutton
- 5. Signaux et emplacements dans PyQt
- 6. Qt QNetworkAccessManager n'émet pas de signaux
- 7. LabVIEW bloquant les signaux Qt?
- 8. Quel est l'idiome Qt correct pour exposer les signaux/emplacements des widgets contenus?
- 9. Comment Qt implémente-t-il les signaux et les slots?
- 10. Visualiser les signaux QT et les slots
- 11. Vérification de tous les signaux Qt/connexion
- 12. Comment suivre les signaux émis dans QT?
- 13. Signaux Qt/Slots and Threads
- 14. PyQt_PyObject équivalent lors de l'utilisation de nouveaux signaux/emplacements?
- 15. Qt question: Comment fonctionnent les signaux et les slots?
- 16. signaux de débogage Qt, machines à sous et les connexions
- 17. Comment traiter les signaux dans une sous-classe Qt?
- 18. Débutant Qt signaux et slots question
- 19. signaux Qt et fentes, fils, app.exec(), et les requêtes connexes
- 20. Signal et emplacements pour l'application console Qt?
- 21. Qt en studio visuel: la connexion des slots et des signaux ne fonctionne pas
- 22. Les emplacements existants Qt4 ne sont pas reconnus
- 23. Comment gérer les signaux lorsqu'un objet Qt n'est pas créé via Designer?
- 24. Qt Jambi (Qt4Dotnet): distinguer les émetteurs de signaux dans un slot
- 25. Obtenez les champs publics?
- 26. Signaux de carte Qt basés sur la valeur du paramètre
- 27. comment intercepter les signaux Linux? (en C)
- 28. QProgressbar et QNetworkReply signaux
- 29. QT4/C++: pas de problème de signaux
- 30. Connexion de plusieurs signaux à un seul emplacement dans Qt
Copie possible de http://stackoverflow.com/questions/2143183/private-public-qt-signals – Macke