Родитель виджета, не удаляющий дитёнка |
Здравствуйте, гость ( Вход | Регистрация )
Родитель виджета, не удаляющий дитёнка |
Алексей1153 |
12.11.2010, 14:15
Сообщение
#1
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
В общем то, иногда напрягает эта самодеятельность - что родительский виджет мочит чайлдов, когда сам разрушается. Это можно как-то запретить делать ? Но само родительство должно оставаться в силе
|
|
|
Litkevich Yuriy |
12.11.2010, 15:23
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Алексей1153 |
12.11.2010, 15:56
Сообщение
#3
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Litkevich Yuriy, много где может. Например: имеется список виджетов. Создаю временного родителя, связываю, показываю их там (или в другом порядке - сначала создан родитель, потом заполнен список)
А потом мне родитель не нужен, а дети должны остаться. Я мочу родителя, а он мочит детей - некузяво. разве что попробовать при разрушении родителя отсоединить всех детей Сообщение отредактировал Алексей1153 - 12.11.2010, 15:59 |
|
|
Litkevich Yuriy |
12.11.2010, 16:03
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
panter_dsd |
12.11.2010, 16:29
Сообщение
#5
|
Жаждущий знаний Группа: Участник Сообщений: 254 Регистрация: 1.1.2009 Из: Санкт-Петербург Пользователь №: 474 Спасибо сказали: 32 раз(а) Репутация: 3 |
Можно пробовать по сигналу void QObject::destroyed ( QObject * obj = 0 ) [signal] родителя забирать у него детей.
|
|
|
Litkevich Yuriy |
12.11.2010, 17:17
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
имеется список виджетов. Создаю временного родителя, связываю, показываю их там вообще здесь нужен "управлятор" этим процессом, который и будет следить за объектами и их связями... А потом мне родитель не нужен, а дети должны остаться. Имеет смысл полистать и освежить в памяти шаблоны проектирования. |
|
|
Алексей1153 |
12.11.2010, 18:38
Сообщение
#7
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
установи всем детям "0" в качестве родителя нее, они тогда не смогут быть его кнопками/окошками Можно пробовать по сигналу void QObject::destroyed ( QObject * obj = 0 ) [signal] родителя забирать у него детей. вот это более на правду похоже, попробую завтра |
|
|
kwisp |
12.11.2010, 18:47
Сообщение
#8
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
Алексей1153 |
12.11.2010, 19:06
Сообщение
#9
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
кого его? это я не так предложение прочитал. Юрий предлагает обнулить родителя у детей перед удалением родителя (я так и решил сделать). А я сначала почему-то решил, что он предлагает изначально не задавать родителя --------------- А вот , вроде, и таблетка: Цитата void QWidget::destroy ( bool destroyWindow = true, bool destroySubWindows = true ) [protected] Frees up window system resources. Destroys the widget window if destroyWindow is true. destroy() calls itself recursively for all the child widgets, passing destroySubWindows for the destroyWindow parameter. To have more control over destruction of subwidgets, destroy subwidgets selectively first. This function is usually called from the QWidget destructor. то есть, в деструкторе просто вызвать destroy ( true, false ); и всё Щас проверю Сообщение отредактировал Алексей1153 - 12.11.2010, 19:39 |
|
|
kwisp |
12.11.2010, 19:20
Сообщение
#10
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
Текстовая версия | Сейчас: 15.1.2025, 10:47 |