Tamam, anlaşıldı (çoğunlukla kaza ile).
init numaralı bağlantıda bağlantı kurduğumdan, ancak yalnızca bu QTreeView için modeli ayarladıktan sonra geçerli bir seçim modeli bulunmuyor.
1) yayan cisim QTreeView en selectionModel olmak değiştirilmesi gerekiyordu:
çalışması için iki değişiklik yapmak zorunda kaldı. Ben neden bilmiyorum, ancak web'de biraz (nadir) örnekleri Bana bunun üst sınıf çağırır QTreeView böyle bir setModel yöntemini geçersiz zorunda
ve ) vaka olabileceğini öne sürmüştür 'setModel yöntemi ve daha sonra bağlantıları daha sonra yapar.
Yani yeni kod şuna benzer:
class ShaderDefTreeView(QtGui.QTreeView):
"""
Overrides the QTreeView to handle keypress events.
"""
#---------------------------------------------------------------------------
def __init__(self, parent=None):
"""
Constructor for the ShaderDefTreeView class.
"""
super(ShaderDefTreeView, self).__init__(parent)
#---------------------------------------------------------------------------
def setModel(self, model):
super(ShaderDefTreeView, self).setModel(model)
self.connect(self.selectionModel(),
QtCore.SIGNAL("selectionChanged(QItemSelection, QItemSelection)"),
self.store_current_selection)
#---------------------------------------------------------------------------
def store_current_selection(self, newSelection, oldSelection):
print "changed"