LINUX.ORG.RU

PyQt \ PySide правильное удаления виджета в классе

 


0

2
class Class( object ):
    def __init__( self ):
        self.button = QtGui.QPushButton('OK')
        self.button.clicked.connect( self.clicked )
        self.button.show()

    def __del__( self ):
        # Эта функция не срабатывает если сигнал кнопки подключен к слоту
        self.button.setParent(None)

    def clicked( self ):
        print 'OK'

Простой пример. При удалении экземпляра сего класса функция __del__ не срабатывает, если виджет подсоединен к слоту.
Как правильно уничтожить виджет при удалении объекта?


    def __del__( self ):
        self.button.destroy()

Так работает. Решено.

vux ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.