title: PyQt QTreeView: Trying to connect to the selectionChanged signal
body: <p>I am trying to connect to the selectionChanged signal of a QTreeView using PyQt. I have done this in the past (for a QTableView) and was successful. But now I cannot get similar code to work.</p>
  
  <p>In the following code example, I successfully connect to the expanded and collapsed signals, but not to the selectionChanged or activated signals.  Could someone tell me what I am doing wrong?  Thanks.</p>
  
  <pre><code>from PyQt4 import QtGui
  from PyQt4 import QtCore
  
  ################################################################################
  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)
  
          #listen to the selectionChanged signal
          print "Connecting"
  
          #whenever the selection changes, let the data model know
          self.connect(self, 
                       QtCore.SIGNAL("selectionChanged(QItemSelection&amp;, QItemSelection&amp;)"),
                       self.store_current_selection)
          self.connect(self, QtCore.SIGNAL("activated(const QModelIndex &amp;)"),
                       self.activated)
          self.connect(self, QtCore.SIGNAL("collapsed(const QModelIndex &amp;)"),
                       self.collapsed)
          self.connect(self, QtCore.SIGNAL("expanded(const QModelIndex &amp;)"),
                       self.expanded)
  
  
      #---------------------------------------------------------------------------
      def store_current_selection(self, newSelection, oldSelection):
          print "changed"
          #self.model().selection_changed(newSelection)
  
  
      #---------------------------------------------------------------------------
      def expanded(self, newSelection):
          print "expanded"
  
  
      #---------------------------------------------------------------------------
      def collapsed(self, newSelection):
          print "collapsed"
  
  
      #---------------------------------------------------------------------------
      def activated(self, newSelection):
          print "activated"
  </code></pre>