Есть ли метод, чтобы узнать соединен ли сигнал со слотом?, и если соединен то сколько раз? |
Здравствуйте, гость ( Вход | Регистрация )
Есть ли метод, чтобы узнать соединен ли сигнал со слотом?, и если соединен то сколько раз? |
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 |
26.11.2008, 20:14
Сообщение
#2
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
я вот поискал в QMetaObject и не нашел....
и больше того начал крутить функции данного класса. у меня в 4,4,3 версии QMetaObject::indexOfSlot(SLOT(myslot())) всегда возвращает -1не зависимо от того соединен слот или нет есть он или нет. короче странное что то... я остановился на том что нет механизма узнать соединен ли слот с сигналом и сколько таковых соединений. |
|
|
ViGOur |
26.11.2008, 20:19
Сообщение
#3
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
тоесть примерно при таком вызове:
Цитата(cpp) this->metaObject()->indexOfSlot(SLOT(myslot())); ???нужно будет завтра самомы проверить, а то qt под рукой нет. |
|
|
kwisp |
26.11.2008, 20:24
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
да вызов и такой пробовал и не только такой.
|
|
|
ViGOur |
1.12.2008, 17:54
Сообщение
#5
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
|
|
|
kwisp |
1.12.2008, 18:41
Сообщение
#6
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
ViGOur |
1.12.2008, 19:36
Сообщение
#7
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
|
|
|
kwisp |
5.12.2008, 10:16
Сообщение
#8
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
из переписки с технической поддержкой:
" ... Unfortunately we dont have any such convenience function which tells how many times a signal is being connected with a slot. Indeed I dont see any good use case for such function. I can create a suggestion task for our developers if I get some generic good use case for such functionality. Regards, I. Omair -- Irfan Omair Support Engineer Nokia Inc, Redwood City http://www.trolltech.com " думаю тему можно закрыть. |
|
|
kuler |
5.12.2008, 16:36
Сообщение
#9
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
а в чем собсна проблема? это как в анекдоте: бабка врачу: сынок я когда делаю вот так (нагибается), то у меня спина болит. Врач: дык не делайте так. Следующий!
|
|
|
Litkevich Yuriy |
5.12.2008, 18:00
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 30.11.2024, 6:03 |