Russian Qt Forum
Ноябрь 23, 2024, 09:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QОbject * parent  (Прочитано 4673 раз)
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« : Июнь 28, 2011, 14:53 »

Подскажите Улыбающийся В конструкторе указывают QObject *parent = 0
затем в функции при создании данного объекта указывают ... = new ...(..., this );
типа в конструкторе запускается конструктор предка или как??? Непонимающий
Записан
Denjs
Гость
« Ответ #1 : Июнь 28, 2011, 14:57 »

this - это указатель на-самого-себя
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #2 : Июнь 28, 2011, 15:00 »

Так создаваемому объекту назначают родителя. Родитель перед смертью убивает всех своих детей.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #3 : Июнь 28, 2011, 15:02 »

И типа я прородитель самого себя или я создан в том потоке что и мой родитель??? не понял Непонимающий Непонимающий
Записан
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #4 : Июнь 28, 2011, 15:03 »

И конкретнее, если можно пример Смеющийся
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Июнь 28, 2011, 15:08 »

Код
C++ (Qt)
MainWindow::MainWindow (QObject *parent)
: QMainWindow (parent)
{
 QObject *obj = new QObject (this);
}
 
В данном случае obj присваивается родитель MainWindow, который и будет теперь за него отвечать.
demaker, тебе нужно подтянуть знания по с++.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
demaker
Птица говорун
*****
Offline Offline

Сообщений: 962


Просмотр профиля
« Ответ #6 : Июнь 28, 2011, 15:28 »

Ok проработаю Смеющийся
Записан
surendil
Гость
« Ответ #7 : Июнь 28, 2011, 17:30 »

А что происходит с объектами, для которых не задан parent (т.е. 0)?
Они всё же уничтожаются автоматически или их нужно руками в деструкторе?
Записан
NortT
Гость
« Ответ #8 : Июнь 28, 2011, 17:34 »

2demaker
QObject *parent = 0 - значение параметра по умолчанию, если ничего параметром не передаешь (this тот же), то родителя не будет.

2surendil
Ну да, delete надо делать.
« Последнее редактирование: Июнь 28, 2011, 17:38 от NortT » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.075 секунд. Запросов: 23.