2013-02-10 6 views
6

私はPyTtアプリケーションにQTableViewを持っており、選択がいつ変化するかを記録したいと思います。 Iロードするたびに、しかしQTableViewの接続selectionChangedシグナルはPyQtでsegfaultを生成します

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

self.view.selectionModel().selectionChanged.connect(self.selChanged) 
それが接続されているスロットは次のように定義される

:私はthis pageにアドバイスを使用して(次のようにスロットに信号を接続しようとしましたQTableViewが置かれているQMainWindow、私はすぐにセグメンテーションフォールトを取得します。これは修正されました?

+0

あなたが表示するコードに明らかに間違ったことはありません。おそらく問題はどこか他の場所ですか?問題の完全な例を投稿できますか? – Avaris

答えて

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) 

ないこの作業の理由を確認してください、率直に言って。

関連する問題