Pyqt5 как удалить виджет
Перейти к содержимому

Pyqt5 как удалить виджет

Удаление виджета в PyQt5

Допустим, есть QVBoxLayout, в который динамически добавляются кнопки:

Это происходит внутри метода класса и по идее все переменные локальные, так что должны уничтожиться после выхода из него (если сделать button = None в конце, то ничего не меняется).

А затем в какой-то момент времени мы хотим удалить эти кнопки:

В результате данного цикла кнопки удаляются лишь из layout’а, но не сами объекты. Это выглядит как видимые кнопки, которые больше не подчиняются layout. Если же делать не просто takeAt, а вызывать deleteLater к полученному takeAt виджету, то приложение крашится.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *