Есть ли метод, чтобы узнать соединен ли сигнал со слотом?, и если соединен то сколько раз? |
Здравствуйте, гость ( Вход | Регистрация )
Есть ли метод, чтобы узнать соединен ли сигнал со слотом?, и если соединен то сколько раз? |
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, 11:10
Сообщение
#2
|
Студент Группа: Участник Сообщений: 69 Регистрация: 9.2.2009 Пользователь №: 539 Спасибо сказали: 15 раз(а) Репутация: 1 |
Мысль вслух: 1) когда мы в своей программе создаем соединения, то все эти соединения описываются в файле moc_***.cpp. 2) когда мы создаем несколько одинаковых соединений, то слот будет вызван столько раз сколько соединений - значит счетчик есть. Может стоит попытаться работать с этими moc_***.cpp файлами? 1. соединения не описываются нигде. QObject::connect соединяет сигнал со слотом (или с сигналом) рантайм - по имени/индексу сигнала/слота 2. счётчика как такового нет, есть список коннектов, в котором при желании можно было бы посчитать определённые индексы я приводил ответ троллех-тех.поддержки. "нету и не зачем" я так понял. хотя если спмостоятельно написать мини патч и отправить тролям с подробным обоснованием нафига это надо. думаю они будут рады и даже скажут спасибо. так и есть. а можем мы предварительно услышать обоснование "нафига оно надо"? почему-то мне кажается, что весомо аргументировать не получится ) |
|
|
Текстовая версия | Сейчас: 28.3.2024, 14:01 |