как идентифицировать сигнал, идентифицировать сигнал |
Здравствуйте, гость ( Вход | Регистрация )
как идентифицировать сигнал, идентифицировать сигнал |
fantom |
29.1.2009, 16:39
Сообщение
#1
|
Студент Группа: Участник Сообщений: 47 Регистрация: 29.1.2009 Пользователь №: 515 Спасибо сказали: 1 раз(а) Репутация: 1 |
Здравствуйте. Есть проблема, которую пока никак не могу решить. Соединяю сигнал со слотом, высылаю сигнал - вызывается слот. Как узнать имя сигнала вызвавшего данный слот. Единственное что пока пришло в голову как то использовать класс QSignalSpy. Но как пока не знаю.
|
|
|
fantom |
2.2.2009, 19:18
Сообщение
#2
|
Студент Группа: Участник Сообщений: 47 Регистрация: 29.1.2009 Пользователь №: 515 Спасибо сказали: 1 раз(а) Репутация: 1 |
Ну чтобы не вылезло можешь в каждом своем наследнике от QObject писать
Этим мы просто говорим чтобы поле d_ptr стало public. Тогда никаких проблем быть не должно. Конечно понимаю что все это изврат и костыли, но если очень надо то больше вариантов я не знаю. |
|
|
SABROG |
2.2.2009, 20:39
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
fantom Ну чтобы не вылезло можешь в каждом своем наследнике от QObject писать
Этим мы просто говорим чтобы поле d_ptr стало public. Тогда никаких проблем быть не должно. Конечно понимаю что все это изврат и костыли, но если очень надо то больше вариантов я не знаю. Я говорю об объектах, реализация которых скрыта в файлах библиотек. Есть только хедер и .lib/.a файл. И о проектах в исходники которых тебе не захочется лезть. Например комплексные, встраиваемые виджеты с кучей дочерних элементов. Придется много кода переписать, чтобы их всех "отнаследовать". Может это можно как-то по-нормальному сделать? Если все коннекты мы сами делаем, то почему-бы не "запитать" пришедший сигнал на наш слот-ретранслятор, например slt_btn_clicked(). Далее emitим' сигнал дальше на обработчик:
Соотв. все зеркальные сигналы законнектить на один слот.в нас. |
|
|
Текстовая версия | Сейчас: 30.11.2024, 5:02 |