crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  < 1 2 3  
Ответить в данную темуНачать новую тему
> Родитель виджета, не удаляющий дитёнка
Алексей1153
  опции профиля:
сообщение 12.11.2010, 21:53
Сообщение #21


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


спасибо, конечно, но вот это
Цитата(kwisp @ 12.11.2010, 23:24) *
без qobject_cast не работает.

останавливает. Дело даже не в том, что я не пользуюсь кастом, а в том, что это всё костыль. Наверное, всё же лучше не трогать эту нелепую задумку авторов с удалением, а сделать иначе:

я же имею массив указателей на детей. Когда я хочу удалить окно, которое, как мне известно, может повлечь за собой удаление потомков, я должен пробежаться по массиву элементов и задать им родителя == 0.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 12.11.2010, 22:43
Сообщение #22


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


финт ушами :) Ничего переопределять и не пришлось
    CWin* w=new CWin;
        
    list.push_back(new QWidget(w));
    list.push_back(new QWidget(w));
    list.push_back(new QWidget(w));
    
    list[0]->setParent(0);
    list[1]->setParent(0);
    list[2]->setParent(0);
    
    delete w;
    w=0;

    list[0]->show();
    list[1]->show();
    list[2]->show();

это работает
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 12.11.2010, 22:45
Сообщение #23


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Алексей1153 @ 13.11.2010, 2:43) *
list[0]->setParent(0);
list[1]->setParent(0);
list[2]->setParent(0);

delete w;
собственно, я про это и говорил
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 12.11.2010, 22:48
Сообщение #24


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Litkevich Yuriy, ну так то да. Только там я почему-то решил идти сложным путём - вытаскивать список детей из родителя, а надо то было в своём списке всё и сделать было :D
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V  < 1 2 3
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.4.2024, 3:30