PyQt und QTreeView: eine Verbindung herstellen möchten, das selectionChanged-signal

Ich versuche mich zu verbinden, um das selectionChanged-signal von einem QTreeView mit PyQt. Ich habe dies in der Vergangenheit getan (für ein QTableView) und war erfolgreich. Aber jetzt kann ich Sie nicht get-ähnlichen code zu arbeiten.

In den folgenden code Beispiel habe ich erfolgreich eine Verbindung zu den auf-und zugeklappt-Signale, aber nicht das selectionChanged-oder aktiviert Signale. Könnte mir jemand sagen was ich falsch mache? Danke.

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&, QItemSelection&)"),
                     self.store_current_selection)
        self.connect(self, QtCore.SIGNAL("activated(const QModelIndex &)"),
                     self.activated)
        self.connect(self, QtCore.SIGNAL("collapsed(const QModelIndex &)"),
                     self.collapsed)
        self.connect(self, QtCore.SIGNAL("expanded(const QModelIndex &)"),
                     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"
InformationsquelleAutor bvz | 2010-11-11
Schreibe einen Kommentar