Как удалить вложенные кнопки из вложенного QHboxLayout в PyQt6?Python

Программы на Python
Ответить
Anonymous
 Как удалить вложенные кнопки из вложенного QHboxLayout в PyQt6?

Сообщение Anonymous »

У меня есть QVBoxLayout, который содержит три QLabels и QHBoxLayout, вложенный в него. Вложенный QHboxLayout также имеет две вложенные кнопки. При нажатии кнопок я хочу очистить весь виджет и все его содержимое, включая кнопки.
До сих пор мне удавалось удалить QLabels, но когда я пытаюсь использовать removeWidget() для QHBoxLayout или его содержимого, ничего не работает. QHboxLayout отображается как макет, но кнопки не отображаются (он показывает «widget = None», когда я печатаю содержимое виджета, который отправляет функцию в цикл else, вызывая ее повторное выполнение, поскольку макет не имеет значения None).
Я включил свой код ниже. Есть идеи?
def clearLayout(self, layout):
if layout is not None:
while (layout.count()):
item = layout.itemAt(0)
widget = item.widget()
print("item: ", item, " widget: ", widget, " item.layout: ", item.layout())
if widget is not None:
layout.removeWidget(widget)
widget.deleteLater()
else:
self.clearLayout(self.layout)


Подробнее здесь: https://stackoverflow.com/questions/798 ... t-in-pyqt6
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»