PySide:使用QItemSelectionModel和QListView时的Segfault(?)

use*_*098 9 python crash qt segmentation-fault pyside

与此完全相同的问题:连接QTableView selectionChanged信号会产生与PyQt的段错误

我有一个QListView,我想在选择一个项目时调用一个函数:

self.server_list = QtGui.QListView(self.main_widget)
self.server_list_model = QtGui.QStandardItemModel()
self.server_list.setModel(self.server_list_model)
self.server_list.selectionModel().selectionChanged.connect(self.server_changed)
Run Code Online (Sandbox Code Playgroud)

但是,当它到达最后一行时,我正在使用选择模型,应用程序崩溃了.没有回溯,但Windows中的"appname已停止工作".我很确定这是一个段错误.

但是,当我使用PyQt4时它工作正常.我正在使用PySide,因为它是LGPL.

是的,我正在使用最新版本的所有内容(PySide:1.2.1,Python 2.7.5,Qt 4.8.5).

谁能帮我这个?

Val*_*kyr 14

尝试在选择模型的生命周期中保留对选择模型的引用.这对我有类似的问题(在表视图选择模型上连接到currentChanged事件时出现seg错误).

self.server_list = QtGui.QListView(self.main_widget)
self.server_list_model = QtGui.QStandardItemModel()
self.server_list.setModel(self.server_list_model)
self.server_list_selection_model = self.server_list.selectionModel() # workaround
self.server_list_selection_model.selectionChanged.connect(self.server_changed)
Run Code Online (Sandbox Code Playgroud)

由于某种原因,最后两行有效,而将它们组合成一个命令会引发错误.