Название: [Решено] Вызов слота без сигнала Отправлено: __Heaven__ от Октябрь 29, 2014, 11:44 Привет, друзья!
У меня имеется слот, который принимает double, далее он смотрит кто sender и в зависимости от полученных значений предпринимает действие. Этот слот прикручен к QDoubleSpinbox'ам и при их изменении слот вызывается. Как мне без изменения значения в QDoubleSpinbox вызвать слот и подставить sender? Название: Re: Вызов слота без сигнала Отправлено: Пантер от Октябрь 29, 2014, 11:46 Не работать через sender. ;D
Название: Re: Вызов слота без сигнала Отправлено: Alex Custov от Октябрь 29, 2014, 11:59 Через QMetaObject вызвать сигнал, но это, как понимаешь, хак и не красиво.
Код
Название: Re: Вызов слота без сигнала Отправлено: __Heaven__ от Октябрь 29, 2014, 12:02 Через QMetaObject вызвать сигнал, но это, как понимаешь, хак и не красиво. Код
Ну да, наверное, жестковато... А если я вызываю из своего класса слот прямым вызовом, то сендер будет только он. Верно? Название: Re: Вызов слота без сигнала Отправлено: Alex Custov от Октябрь 29, 2014, 12:05 Ну да, наверное, жестковато... А если я вызываю из своего класса слот прямым вызовом, то сендер будет только он. Верно? Нет! Цитировать QObject * QObject::sender () const [protected] Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0 Название: Re: Вызов слота без сигнала Отправлено: GreatSnake от Октябрь 29, 2014, 12:45 При прямом вызове слота можно явно указать сендера
Код
Название: Re: Вызов слота без сигнала Отправлено: __Heaven__ от Октябрь 29, 2014, 14:42 Нет, все-таки пришел к выводу, что все это извращение и проще написать отдельную инициализирующую функцию.
|