Как очистить QBoxLayout

Есть вот такой код в tkinter

lis_del_ff = self.top_ff.pack_slaves()
for l in lis_del_ff:
l.destroy()

Как реализовать подобное на pyqt5? Ясно что отдельный виджет можно удалить

box.removeWidget(widget)

но как автоматизировать задачу подобно tkinter, если в конкретный момент неизвестно, что за виджеты в боксе?

В итоге я получил вот такой работоспособный код аналогичный tkinter-му:

for i in reversed(range(box.count())):
w = box.itemAt(i).widget()
w.setParent(None)
w.deleteLater()

Ответы (2 шт):

Автор решения: Victor VosMottor thanks Monica

В QBoxLayout есть метод children, который возвращает список всех виджетов. Остается только пройтись циклом по ним:

for i in box.children():
    box.removeWidget(i)
for i in reversed(range(layout.count())): 
    layout.itemAt(i).widget().setParent(None)
→ Ссылка
Автор решения: eri

Да просто удали сам бокс и создай новый. Детей удалит сборщик мусора, если ничего лишнего там не сделано чтоб это предотвратить.

→ Ссылка