![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Strikevld |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 53 Регистрация: 6.9.2011 Пользователь №: 2849 Спасибо сказали: 6 раз(а) Репутация: ![]() ![]() ![]() |
Хоть убей не гугл не документация не в помощь!
Идея такая: есть сцена. есть собственный виджет построенный в дизайнере. экземпляры этого виджета должны динамически создаваться(также добавляясь на сцену) и удаляться. всё это по требаванию пользователя! Но вот такая штука они создаются,,, и показываются,,, ии удаляются если не в сцене! стоит только добавить виджет в сцену и всё его хрен удалишь! Причем хоть как хоть как: ни тебе удаляя со сцены, и даже удаляя саму сцену, ни delete wgt, ни wgt.deleteLater() отладчик не помогает вот код:
на delete и возникает неуловимое исключение, только если эти виджеты в сцене, причём пока я их не пытаюсь удалить всё нормально. (я уже подумываю так и осталять их в памяти ![]() ![]() Что не так то??? Помогите. Сообщение отредактировал Strikevld - 2.1.2013, 0:50 |
|
|
![]() |
Авварон |
![]()
Сообщение
#2
|
![]() Студент ![]() Группа: Участник Сообщений: 99 Регистрация: 26.4.2009 Пользователь №: 709 Спасибо сказали: 14 раз(а) Репутация: ![]() ![]() ![]() |
Конкретно удалять виджеты должна эта
строка. То, что к полям виджета есть доступ ни о чем не говорит - память еще могла быть не использована, но уже отмечена как свободная. Попробуйте поставить бряку в деструктор виджета или вставить отладочную печать. А еще можно использовать QPointer'ы в списке для теста (и проверить их на 0 после очистки сцены). Насчет лайаута - я же не знаю, что вам надо ![]() |
|
|
![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 4.5.2025, 2:34 |