Есть ли метод, чтобы узнать соединен ли сигнал со слотом?, и если соединен то сколько раз? |
Здравствуйте, гость ( Вход | Регистрация )
Есть ли метод, чтобы узнать соединен ли сигнал со слотом?, и если соединен то сколько раз? |
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 |
|
|
kwisp |
11.2.2009, 11:35
Сообщение
#2
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Константин,
действительно, а смогу ли я обосновать необходимость такового счетчика??? я думаю что смогу. есть функция QObject::connect() и QObject::disconnect() следовательно предполагается возможность динамического соединение и разъединение сигналов и слотов??? не правда ли??? почему я не могу узнать сколько раз вызовется мой слот при одном вызове сигнала господа трольтеховцы (0-вообще не соединен на данный момент, 1,2,3 ... 10)??? вот и все обоснование. только конечно более литературно написать. другой вопрос насколько это необходимо вообще. если ты четко следишь за состояниями объектов, и пользуешь другие методы отключения блокировки сигналов в каких то состояниях получается ты выполняешь немного осмелюсь сказать библиотечную задачу. они взялись реализовать сигналы слоты взялись сделать как коннект так и дисконнект ну и уже бы и предоставили возможность узнать сколько соединений. вообще не хочу разводить полемику по данному поводу ,Константин, изначально был просто пост в теме "секреты и интересные возможности Qt" где я описал найденный минисекрет и отсутсвие может быть ненужной возможности. вот и все это просто интересный факт а не способ и метод решения моей задачи моя машина уже как сто лет написана без динамических соединений. а обнаружен факт случайно и в ассистенте 3 версии как минимум не описан. просто факт как есть и все. говорю же если кому интересно может рыть и писать в этой теме свои решения это странности. |
|
|
Текстовая версия | Сейчас: 25.4.2024, 22:57 |