[PyQt] problem with mouseDoubleClickEvent on QTreeView 1
Mads Ipsen
mpi at comxnet.dk
Sun Jun 21 22:20:51 BST 2009
laurlaur wrote:
> Just for a better view
> Hi,
> I'm new in PyQt programing so please have mercy :)
> I want to display the directories content and to catch the event
> mouseDoubleClickEvent , but it seems that I have some problems chatching
> this event. Eventualy if someone have a better ideea how to do this I'm open
> to suggestions.
> Below is my code.
>
> import sys
> from PyQt4.QtCore import *
> from PyQt4.QtNetwork import *
> from PyQt4 import QtGui
>
>
>
>
> class miniframe():
> def __init__(self, parent =None):
>
> self.tree = QtGui.QTreeView()
> self.model = QtGui.QDirModel()
> self.tree.setModel(self.model)
> self.tree.setGeometry(10,750,400,200)
> self.tree.show()
>
> def mouseDoubleClickEvent(self, event):
> print "event"
>
> if __name__ =="__main__":
> app = QtGui.QApplication(sys.argv)
> x =miniframe()
> x.show()
>
> sys.exit(app.exec_())
>
Make sure you inherit from the classes correctly. In your case, you
should inherit from the QTreeView class and then overload the method
mouseDoubleClickEvent().
This snippet below works.
Best regards,
Mads
import sys
from PyQt4 import QtGui
class DirView(QtGui.QTreeView):
def __init__(self, parent =None):
QtGui.QTreeView.__init__(self, parent)
self.model = QtGui.QDirModel()
self.setModel(self.model)
self.setGeometry(10,750,400,200)
def mouseDoubleClickEvent(self, event):
print "event"
if __name__ =="__main__":
app = QtGui.QApplication(sys.argv)
view = DirView()
view.show()
sys.exit(app.exec_())
More information about the PyQt
mailing list