import sys from PySide import QtGui class MyWidget(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) layout = QtGui.QVBoxLayout() self.setLayout(layout) self.view = QtGui.QListWidget() layout.addWidget(self.view) b = QtGui.QPushButton('Crash 1', self) layout.addWidget(b) b.clicked.connect(self.crash1) b = QtGui.QPushButton('Crash 2', self) layout.addWidget(b) b.clicked.connect(self.crash2) def crash1(self): self.view.addItem('AAA') item = self.view.item(0) self.view.clear() item.text() print('OK') def crash2(self): for i in range(10000): self.view.addItem('AAA') self.view.item(i) self.view.clear() QtGui.QWidget(self) # any widget class print('OK') app = QtGui.QApplication(sys.argv) widget = MyWidget() widget.show() sys.exit(app.exec_())