I have a QTableView in a PyQt application, and I want to keep track of when the selection changes. I've tried connecting the signal to a slot as follows (using the advice on this page:
self.view.selectionModel().selectionChanged.connect(self.selChanged)
where the slot it is connected to is defined as:
def selChanged(self, selected, deselected):
print "Sel changed"
However, whenever I load the QMainWindow on which the QTableView resides, I get an immediate segmentation fault.
Am I doing something silly here?
I was having a similar problem and the fix was here: PySide: Segfault(?) when using QItemSelectionModel with QListView
Namely, replace:
self.view.selectionModel().selectionChanged.connect(self.selChanged)
with two commands:
selectionModel = self.view.selectionModel()
selectionModel.selectionChanged.connect(self.selChanged)
Not sure why this works, frankly.