Есть ли метод, чтобы узнать соединен ли сигнал со слотом?, и если соединен то сколько раз? |
Здравствуйте, гость ( Вход | Регистрация )
Есть ли метод, чтобы узнать соединен ли сигнал со слотом?, и если соединен то сколько раз? |
ViGOur |
26.11.2008, 20:10
Сообщение
#1
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
всем привет. Для этого как я понимаю нужно использовать класс: QMetaObject .
может я собираюсь написать об очевидной штуке, но однако меня она удивила. 1. если соединить один и тот же сигнал с одним и тем же слотом несколько раз(n), и вызвать сигнал один раз, то слот вызовется столько раз сколько соединений с этим сигналом мы сделали(n).... 2. если разъединить сигнал со слотом - то рушатся все соединения этого сигнала с этим слотом. ... известен ли кому нибудь метод узнать соединен ли сигнал со слотом и если соединен то сколько раз??? Сообщение отредактировал ViGOur - 1.12.2008, 19:34 |
|
|
Константин |
11.2.2009, 12:25
Сообщение
#2
|
Студент Группа: Участник Сообщений: 69 Регистрация: 9.2.2009 Пользователь №: 539 Спасибо сказали: 15 раз(а) Репутация: 1 |
"а почему бы и нет?" - странное обоснование...неизбежно напорется на вопрос "а зачем?".
и мне тоже интересно "а зачем?". какой смысл отрабатывать слот по десять раз на одно(!) событие? а если сигнализирующие объекты разные, то какой смысл их считать? не забываем дисконнектить то, что сами же и сконнектили - и таких потребностей не будет возникать. а пичкать библиотеку функционалом для забывчивых - неблагодарное (и ненужное) занятие. Цитата олучается надо просто написать ИЗБЕГАЙТЕ РЕАЛИЗАЦИИ ДИНАМИЧЕСКОЙ МАШИНЫ СОСТОЯНИЙ с помощью сигналов и слотов дабы избежать проблем с много кратным соединением. используйте колбэки что угодно но не сигналы и слоты даже если соединения редко используемые. к чему крайности? а то проще написать ИЗБЕГАЙТЕ ИСПОЛЬЗОВАНИЯ КУТЭ В СВОИХ ПРОЕКТАХ. а можно и проще - ИЗБЕГАЙТЕ ПРОГРАММИРОВАНИЯ... |
|
|
Текстовая версия | Сейчас: 28.3.2024, 21:44 |