2013-02-10 77 views
6

我有一個PyQt應用程序中的QTableView,我想跟蹤選擇何時改變。我已經嘗試了信號連接到如下的槽(使用建議上this page連接QTableView selectionChanged信號與PyQt產生段錯誤

self.view.selectionModel().selectionChanged.connect(self.selChanged) 

在其連接所述槽至定義爲:

def selChanged(self, selected, deselected): 
     print "Sel changed" 

但是,每當我加載在其上QTableView中駐留的QMainWindow,立刻得到分段錯誤。

我是不是傻了嗎?

+0

您顯示的代碼中沒有任何明顯的錯誤。也許這個問題在別的地方?你能舉一個完整的例子來解決這個問題嗎? – Avaris 2013-02-10 23:36:43

回答

2

這現在已修正,事實證明,我在那臺機器上使用了舊版本的Qt - 這似乎導致了崩潰。

故事的寓意是:如果你的代碼崩潰沒有明智的理由,檢查你的所有依賴關係(在這種情況下,Qt和PyQt)是最新的。

4

我有一個類似的問題,修復在這裏: PySide: Segfault(?) when using QItemSelectionModel with QListView

即更換:

self.view.selectionModel().selectionChanged.connect(self.selChanged) 

兩個命令:

selectionModel = self.view.selectionModel() 
selectionModel.selectionChanged.connect(self.selChanged) 

不知道爲什麼這個工程,坦率地說。