В документации написано, что
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()