Załóżmy, że mam widget QPushButton, który jest podłączony do gniazda za pomocą jego sygnału clicked(). Ten pierwszy automat z kolei wywołuje inne gniazdo przez słowo kluczowe emit. Drugi automat bierze argument z pierwszego automatu i coś z nim robi. Zadziałało, ale z tego, co rozumiem, schematu sygnałów-gniazd, sensowne wydaje się tylko wysyłanie sygnału. Czy błędem jest emitowanie slotu zamiast sygnału?Qt - emitujące gniazda zamiast sygnałów
5
A
Odpowiedz
8
Jeśli przyjrzeć się definicji emisji, widać, że jest pusta. emit jest używany tylko do wskazania, że sygnał jest emitowany na tej linii. Dlatego emitowanie gniazda nie ma sensu.
Automaty są zwykłymi funkcjami, można je wywoływać jawnie.
5
Tak. Slot jest funkcją. Możesz po prostu wywołać slot jak każdą inną funkcję w C++ doSlotAction(params);
. Tylko sygnały powinny być zgodne ze słowem kluczowym emit
.
3
Tylko w celu uzupełnienia poprzednich odpowiedzi sygnały są naprawdę chronionymi metodami implementowanymi przez moc, kompilator meta-obiektu.
Powiązane problemy
- 1. Qt QNetworkAccessManager nie emituje sygnałów
- 2. Wizualizacja sygnałów i gniazd QT
- 3. Sygnały i gniazda, wzór w Qt?
- 4. Dlaczego gniazda wykrywacza sygnałów są domyślnie silne
- 5. Jakiś pomysł na uruchamianie sygnałów Qt/gniazd w sieci?
- 6. W jaki sposób Qt implementuje sygnały i gniazda?
- 7. Pytanie Qt: Jak działają sygnały i gniazda?
- 8. Qt i C++ - niezdefiniowane odniesienie do gniazda
- 9. Debuguj sygnały Qt, gniazda i połączenia
- 10. Jak tworzyć dynamiczne sygnały i gniazda w Qt?
- 11. PySide/Qt: Zbyt wiele argumentów, aby podłączyć sygnał do gniazda?
- 12. Podłączanie sygnałów do gniazd z mniejszymi parametrami dozwolonymi w Qt?
- 13. Qt połączyć ze sobą za pomocą dwóch sygnałów QueuedConnection
- 14. QtPropertyBrowser i zmienione wartości sygnałów
- 15. Wiążące argumenty do sygnałów/gniazd
- 16. Połącz QML sygnał do C++ 11 gniazda lambda (Qt 5)
- 17. W Qt (4.6), czy można bezpośrednio wywoływać gniazda?
- 18. Czy sygnały i gniazda Qt są formą subskrypcji publikującej?
- 19. Qt gniazda typu sygnały, odlewane w nowej notacji
- 20. Wpływ wydajności używania write() zamiast send() podczas zapisywania do gniazda
- 21. Co to są sygnały i gniazda?
- 22. Jak wykreślić fazory sygnałów?
- 23. XOPEN_SOURCE i obsługa sygnałów
- 24. Qt5 sygnałów do
- 25. Łańcuch sygnałów JVM SIGPIPE
- 26. Najszybszy sygnał C++ sygnału/gniazda bez zależności
- 27. QObject :: connect: Brak takiego sygnału podczas podłączania sygnałów qml w języku C++ Qt 5.3
- 28. Jaki jest poprawny idiom Qt do ujawniania sygnałów/gniazd zawartych w nim widżetów?
- 29. Django post_save sygnałów na aktualizację
- 30. Obsługa sygnałów w systemie Windows
To przekazuje niewłaściwe znaczenie. Emitowanie przekazuje w rzeczywistości znaczenie wysyłania sygnału i wywoływanego podłączonego gniazda, gdzie słowo _keyword_ nie emituje nic, to tylko dla lepszej czytelności. – drahnr