Если я запустил этот код:
    #!/usr/local/bin/    python3
import sys 
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class Window(QMainWindow):
    def __init__(self):
        super().__init__()
        self.button1 = QPushButton("1")
        self.button2 = QPushButton("2")
        self.setCentralWidget(self.button1)
        self.button1.clicked.connect(lambda: self.setCentralWidget(self.button2))
        self.button2.clicked.connect(lambda: self.setCentralWidget(self.button1))
        self.show()
if __name__ == '__main__':
    import sys 
    app = QApplication(sys.argv)
    window = Window()
    sys.exit(app.exec_())
... Я получаю этот вывод:
Traceback (most recent call last):
  File "test.py", line 16, in <lambda>
    self.button2.clicked.connect(lambda: self.setCentralWidget(self.button1))
RuntimeError: wrapped C/C++ object of type QPushButton has been deleted
Я не понимаю, почему объект удаляется. Окно должно содержать ссылку на него. Я тщательно изучил эти должности: Понятно, что ошибка "базового объекта C/С++ была удалена" Можно ли запросить QQbject PyQt4, чтобы определить, был ли поврежден исходный экземпляр С++?
Почему кнопка удаляется?
