Удаление виджета в PyQt5
Допустим, есть QVBoxLayout, в который динамически добавляются кнопки:
Это происходит внутри метода класса и по идее все переменные локальные, так что должны уничтожиться после выхода из него (если сделать button = None в конце, то ничего не меняется).
А затем в какой-то момент времени мы хотим удалить эти кнопки:
В результате данного цикла кнопки удаляются лишь из layout’а, но не сами объекты. Это выглядит как видимые кнопки, которые больше не подчиняются layout. Если же делать не просто takeAt, а вызывать deleteLater к полученному takeAt виджету, то приложение крашится.