crossplatform.ru

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

> как идентифицировать сигнал, идентифицировать сигнал
fantom
  опции профиля:
сообщение 29.1.2009, 16:39
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 47
Регистрация: 29.1.2009
Пользователь №: 515

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




Репутация:   1  


Здравствуйте. Есть проблема, которую пока никак не могу решить. Соединяю сигнал со слотом, высылаю сигнал - вызывается слот. Как узнать имя сигнала вызвавшего данный слот. Единственное что пока пришло в голову как то использовать класс QSignalSpy. Но как пока не знаю.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Tonal
  опции профиля:
сообщение 4.2.2009, 9:04
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

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




Репутация:   17  


Что-то помоему как-то всё через чур сложно. Может по другому прощее будет?
Например:
1. В дизайнере создаётся интерфейс (UI форма).
2. Для виджетов, сигналы которых нужно транслировать добавляется динамическое свойство с именами сигналов.
3. "Лёгкий клиент" грузит ui-шку (QUiLoader), пробегается по всем её виджетикам, и для тех у кого есть соответственное динамическое свойство создаёт нужные конекты в которых вся нужная инфа и отфудболивается на сервак.

И не нужно никаких хаков Qt.
Кроме того, покуда не изменились имена можно безболезненно менять интерфейс.
Так же клиент полностью не зависит от UI, т.е. его вообще не нужно перекомпилять при добавлении новой формочки. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- fantom   как идентифицировать сигнал   29.1.2009, 16:39
- - kwisp   Цитата(fantom @ 29.1.2009, 16:39) Здравст...   29.1.2009, 16:45
- - fantom   Такой вариант меня не очень устраивает так как мне...   29.1.2009, 16:57
- - ViGOur   Посмотри в сторону: void QMetaObject::connectSlots...   29.1.2009, 17:23
- - fantom   Посмотрел на описание connectSlotsByName ( QObject...   29.1.2009, 18:05
- - Litkevich Yuriy   Цитата(fantom @ 29.1.2009, 19:39) Как узн...   29.1.2009, 20:14
- - ViGOur   Цитата(Litkevich Yuriy @ 29.1.2009, 20:14...   29.1.2009, 20:45
- - Litkevich Yuriy   Цитата(ViGOur @ 29.1.2009, 23:45) дебажна...   29.1.2009, 20:48
- - ViGOur   Объект пославший сигнал можно получить QObject::se...   29.1.2009, 21:05
- - fantom   Конечная цель не дебажная следилка. Есть заказ на ...   30.1.2009, 11:28
|- - kwisp   единственное что приходит в гоолову это так как вы...   30.1.2009, 11:41
- - Litkevich Yuriy   fantom, Если я правильно понял конечную цель, то п...   30.1.2009, 13:47
- - ViGOur   По всей видимости стандартных путей нет. Если хак...   30.1.2009, 15:17
- - fantom   ViGOur вы исходники какой версии qt смотрели? У ...   30.1.2009, 16:06
- - ViGOur   Блин, забыл что у вас 4.3.2, я смотрел 4.4.0. Сейч...   30.1.2009, 16:08
- - fantom   да. в 4.4 должно как то так работать int signalI...   30.1.2009, 16:17
- - ViGOur   В вашей версии есть такой аргумент как QObjectPriv...   30.1.2009, 16:17
- - fantom   Кстати а как получить имя сигнала по индексу? Врод...   30.1.2009, 16:42
- - fantom   Ну судя по metaObject()->indexOfSignal обращени...   30.1.2009, 17:24
- - ViGOur   Цитата(fantom @ 30.1.2009, 16:42) Или как...   30.1.2009, 17:24
- - fantom   Точно! Спасибо все работает. for( int i =...   30.1.2009, 17:45
- - ViGOur   Цитата(fantom @ 30.1.2009, 17:45) В итоге...   31.1.2009, 11:30
- - Litkevich Yuriy   Обсуждение связанное с Vedga перенес в существующу...   31.1.2009, 11:54
- - SABROG   Цитата(fantom @ 29.1.2009, 16:57) так как...   31.1.2009, 13:23
- - fantom   Цитата(SABROG @ 31.1.2009, 13:23) Этот ко...   2.2.2009, 17:34
|- - SABROG   fantom Цитата(fantom @ 2.2.2009, 17:34) Ц...   2.2.2009, 18:45
- - fantom   Ну чтобы не вылезло можешь в каждом своем наследни...   2.2.2009, 19:18
|- - SABROG   fantom Цитата(fantom @ 2.2.2009, 19:18) Н...   2.2.2009, 20:39
- - fantom   SABROG ты сам запутался и меня запутал. короче ник...   3.2.2009, 17:01
- - SABROG   ну теперь, по идее, должно все работать.   3.2.2009, 18:02
- - Tonal   Что-то помоему как-то всё через чур сложно. Может ...   4.2.2009, 9:04
- - SABROG   QObject - не обязательно виджет. QTimer например.   4.2.2009, 9:18
|- - Tonal   Цитата(SABROG @ 4.2.2009, 12:18) QObject ...   4.2.2009, 9:49
- - SABROG   Мое дело предупредить, а уж кто как захочет ваше д...   4.2.2009, 11:39


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


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




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