crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Есть ли метод, чтобы узнать соединен ли сигнал со слотом?, и если соединен то сколько раз?
ViGOur
  опции профиля:
сообщение 26.11.2008, 20:10
Сообщение #1


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Цитата(kwisp @ 26.11.2008, 17:58) *
всем привет.
может я собираюсь написать об очевидной штуке, но однако меня она удивила.

1. если соединить один и тот же сигнал с одним и тем же слотом несколько раз(n), и вызвать сигнал один раз, то
слот вызовется столько раз сколько соединений с этим сигналом мы сделали(n)....

2. если разъединить сигнал со слотом - то рушатся все соединения этого сигнала с этим слотом.

... известен ли кому нибудь метод узнать соединен ли сигнал со слотом и если соединен то сколько раз???
Для этого как я понимаю нужно использовать класс: QMetaObject .

Сообщение отредактировал ViGOur - 1.12.2008, 19:34
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ViGOur
  опции профиля:
сообщение 1.12.2008, 17:54
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Цитата(kwisp @ 26.11.2008, 20:14) *
QMetaObject::indexOfSlot(SLOT(myslot())) всегда возвращает -1

Оказалось все просто, нужно вызывать так:
QMetaObject::indexOfSlot( "myslot()")
:)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 1.12.2008, 18:41
Сообщение #3


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(ViGOur @ 1.12.2008, 17:54) *
Оказалось все просто, нужно вызывать так:
QMetaObject::indexOfSlot( "myslot()")
:)


прикольно получается.
жаль что это все равно не поможет мне узнать колличество соединений между сигналом и слотом.:(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- ViGOur   Есть ли метод, чтобы узнать соединен ли сигнал со слотом?   26.11.2008, 20:10
- - kwisp   я вот поискал в QMetaObject и не нашел.... и боль...   26.11.2008, 20:14
- - ViGOur   тоесть примерно при таком вызове: Цитата(cpp)this-...   26.11.2008, 20:19
- - kwisp   да вызов и такой пробовал и не только такой.   26.11.2008, 20:24
- - ViGOur   Цитата(kwisp @ 26.11.2008, 20:14) QMetaOb...   1.12.2008, 17:54
|- - kwisp   Цитата(ViGOur @ 1.12.2008, 17:54) Оказало...   1.12.2008, 18:41
- - ViGOur   Цитата(kwisp @ 1.12.2008, 18:41) жаль что...   1.12.2008, 19:36
- - kwisp   из переписки с технической поддержкой: " ... ...   5.12.2008, 10:16
- - kuler   а в чем собсна проблема? это как в анекдоте: бабка...   5.12.2008, 16:36
- - Litkevich Yuriy   Цитата(kuler @ 5.12.2008, 19:36) а в чем ...   5.12.2008, 18:00
- - kuler   Цитата(Litkevich Yuriy @ 5.12.2008, 18:00...   5.12.2008, 18:42
|- - kwisp   Цитата(kuler @ 5.12.2008, 18:42) ну так я...   6.12.2008, 20:06
- - Litkevich Yuriy   Цитата(kuler @ 5.12.2008, 21:42) не фиг с...   5.12.2008, 21:02
- - kuler   Цитата(kwisp @ 6.12.2008, 20:06) для тебя...   8.12.2008, 15:51
|- - kwisp   несогласен, зачем свой счетчик если в библиотеке в...   8.12.2008, 17:54
- - kuler   из мануала про connect A signal is emitted for ev...   18.12.2008, 16:29
- - Litkevich Yuriy   предлагаю этой темой и тем чем вызвана данная диск...   27.12.2008, 18:19
- - Константин   поведение очевидное - всего лишь нужно читать доку...   11.2.2009, 6:30
- - kwisp   Константин, здравствуйте. у меня два вопроса к ва...   11.2.2009, 9:25
- - berserk   а в слоте счетчик описать нельзя?   11.2.2009, 9:46
- - Litkevich Yuriy   Цитата(berserk @ 11.2.2009, 12:46) а в сл...   11.2.2009, 9:58
- - kwisp   berserk, примерчик подскажешь, мне уже не нужно, ...   11.2.2009, 9:59
|- - berserk   Цитата(kwisp @ 11.2.2009, 9:59) berserk, ...   11.2.2009, 11:41
|- - kwisp   Цитата(berserk @ 11.2.2009, 11:41) Книжка...   11.2.2009, 11:56
|- - berserk   Цитата(kwisp @ 11.2.2009, 11:56) Цитата(b...   11.2.2009, 12:01
- - Константин   1. Цитата(kwisp @ 6.12.2008, 20:06) к при...   11.2.2009, 9:59
|- - kwisp   ну QVariant& тож слать не гут а вот если бы не...   11.2.2009, 10:12
- - Litkevich Yuriy   Мысль вслух: 1) когда мы в своей программе создаем...   11.2.2009, 10:18
- - kwisp   Litkevich Yuriy, Цитатазначит счетчик есть. думаю...   11.2.2009, 10:28
- - kuler   разве нельзя создать маленький класс в котором буд...   11.2.2009, 10:46
|- - kwisp   Цитата(kuler @ 11.2.2009, 10:46) разве не...   11.2.2009, 10:57
- - Константин   Цитата(Litkevich Yuriy @ 11.2.2009, 10:18...   11.2.2009, 11:10
- - kwisp   Константин, действительно, а смогу ли я обосноват...   11.2.2009, 11:35
- - kwisp   berserk, думаю счетчик в слоте ничем не поможет. ...   11.2.2009, 12:05
|- - berserk   Цитата(kwisp @ 11.2.2009, 12:05) berserk,...   11.2.2009, 12:13
- - Константин   "а почему бы и нет?" - странное обоснова...   11.2.2009, 12:25
- - kwisp   Константин, >какой смысл отрабатывать слот по ...   11.2.2009, 12:48
- - kuler   Цитата(kwisp @ 11.2.2009, 11:35) они взял...   11.2.2009, 13:06
- - Константин   Цитата(kwisp @ 11.2.2009, 12:48) узнать с...   11.2.2009, 13:12
- - SABROG   Цитата(Константин @ 11.2.2009, 13:12) воз...   11.2.2009, 13:29
- - Litkevich Yuriy   Цитата(kuler @ 11.2.2009, 16:06) а еще в ...   11.2.2009, 13:31
- - kwisp   Константин, Цитатаа ты и не писал про "избег...   11.2.2009, 13:50
- - kuler   SABROG, а по нормальному это выглядит bool table-...   11.2.2009, 13:59
- - SABROG   Цитата(kuler @ 11.2.2009, 13:59) SABROG, ...   11.2.2009, 14:39
- - kuler   Цитата(SABROG @ 11.2.2009, 14:39) Для так...   11.2.2009, 17:48
- - Litkevich Yuriy   пожалуй я эту тему закрою, а то во флуд превратила...   11.2.2009, 18:39


Тема закрытаНачать новую тему
Теги
Нет тегов для показа


4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.11.2024, 7:25