Russian Qt Forum

Qt => Общие вопросы => Тема начата: Vitto74 от Июль 21, 2009, 21:37



Название: Узнать объект, испустивший сигнал.
Отправлено: Vitto74 от Июль 21, 2009, 21:37
Начал переводить свои старые проекты с CBuilder на Qt.
В CBuilder в обработчик передается указатель на вызвавший объект (если событие onClick сгенерил Button1, то передается указатель на него). Это позволяет, например, задать нескольким кнопкам один обработчик и в нем вызывать процедуру с параметром, который завимит от вызвавшего объекта.
А вопрос в следующем - как узнать какой объект испустил сигнал?


Название: Re: Узнать объект, испустивший сигнал.
Отправлено: f-r-o-s-t от Июль 21, 2009, 21:43
в теле слота метод sender()


Название: Re: Узнать объект, испустивший сигнал.
Отправлено: ритт от Июль 21, 2009, 21:57
ах, точно, теперь я вспомнил...до чего же убогая поделка :)

Vitto74, sender() и qobject_cast


Название: Re: Узнать объект, испустивший сигнал.
Отправлено: whirlwind от Июль 22, 2009, 09:10
в некоторых случаях помогает QSignalMapper


Название: Re: Узнать объект, испустивший сигнал.
Отправлено: Vitto74 от Июль 22, 2009, 10:26
Спасибо. както я это пропустил в учебнке. :)