Rimush
@Rimush

Как правильно удалить QtWidgets.QSpacerItem?

В документации написано, что QtWidgets удаляються командой deleteLater().
Но с QSpacerItem у меня это не работает.

Возращает ошибку:
AttributeError: 'PySide6.QtWidgets.QSpacerItem' object has no attribute 'deleteLater'

Весь код:
class VerticalSpacer(object):

    def __init__(self, handle):
        self.vertical_spacer = None
        self.parent = handle

    def render(self):
        if self.parent is not None:
            self.vertical_spacer = QtWidgets.QSpacerItem(20,
                                                         40,
                                                         QtWidgets.QSizePolicy.Policy.Minimum,
                                                         QtWidgets.QSizePolicy.Policy.Expanding)
            self.parent.layout.addItem(self.vertical_spacer)

    def set_handle(self, handle):
        self.delete()
        self.parent = handle
        self.render()

    def delete(self):
        if self.vertical_spacer is not None:
            self.vertical_spacer.deleteLater()
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
Просто удалите его из вашего layout через removeItem
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы