Russian Qt Forum

Qt => Общие вопросы => Тема начата: gil9red от Сентябрь 02, 2012, 21:15



Название: [РЕШЕНО] Сигналы и слоты в динамической цепи классов
Отправлено: gil9red от Сентябрь 02, 2012, 21:15
Здравствуйте! :)
Пилил сейчас проект, и заинтересовался вопросом про сигналы и слоты.
Погуглил, прочитал из документации про них, но ответ на свой вопрос не получил :(

Ситуация такая:
Есть виджет, принимающий и отправляющий сигналы, с ним коннектится другой класс, написал функцию что то типа void setConnectWithType(Type *type),
как вы видите в нее передается указатель, а внутри проверочка на существования указателя:
Код:
if(type)
и в скопках куча connect(), и благодаря этому можно к такому виджету можно подключить кучу классов Type
А что случится, если один из этих классов будет освобожден?
Будет ли к нему отправлен сигнал?
Нужно ли принудительно рассоединять до освобождения с помощью disconnect() или это уже позаботились до нас?


Название: Re: Сигналы и слоты в динамической цепи классов
Отправлено: GreatSnake от Сентябрь 02, 2012, 21:42
Нужно ли принудительно рассоединять до освобождения с помощью disconnect() или это уже позаботились до нас?
уже позаботились


Название: Re: Сигналы и слоты в динамической цепи классов
Отправлено: gil9red от Сентябрь 02, 2012, 21:51
А есть ли у вас, GreatSnake, на примете какая то официальная информация потверждающая оное? :)
не сердитесь, но предпочитаю увидеть своими глазами :)


Название: Re: Сигналы и слоты в динамической цепи классов
Отправлено: wester от Сентябрь 02, 2012, 22:04
Цитировать
A signal-slot connection is removed when either of the objects involved are destroyed.
http://doc.qt.nokia.com/4.7-snapshot/qobject.html#disconnect


Название: Re: Сигналы и слоты в динамической цепи классов
Отправлено: gil9red от Сентябрь 02, 2012, 22:18
понятно) не там смотрел значит :)