PyQt4 : Determine click on blank area of QTreeWidget

I made a tree structure with QTreeWidget, and it works well. But, I have a problem with that. Commonly, with tree structure if I want to deselect all, I click on blank area of tree area. QTreeWidget does not support that work.(or I can't find the tip?)

Sub-classing? or something else can solve the problem? determining the clicking on blank area seems that key of the solution, but I can't find SIGNAL or anything.

Thank you for any help :)

-------------Problems Reply------------

A sub-class is probably the simplest choice (although the same thing could be achieved with an event filter).

This example code will clear the selection when clicking on a blank area, or when pressing the Escape key when the tree widget has the keyboard focus:

class TreeWidget(QTreeWidget):

def keyPressEvent(self, event):
if (event.key() == Qt.Key_Escape and
event.modifiers() == Qt.NoModifier):
QTreeWidget.keyPressEvent(self, event)

def mousePressEvent(self, event):
if self.itemAt(event.pos()) is None:
QTreeWidget.mousePressEvent(self, event)

Category:pyqt Views:3 Time:2011-12-15

Related post

Copyright (C), All Rights Reserved.

processed in 0.139 (s). 11 q(s)