class QTreeView(QTreeView):
def __init__(self, parent=None):
super(QTreeView, self).__init__(parent)
def paintEvent(self,event):
if self.model() and self.model().rowCount() > 0:
super().paintEvent(event)
else:
painter = QtGui.QPainter (self.viewport())
# If no items draw a text in the center of the viewport.
self.viewport()
text = "There are no elements in this view"
textRect = painter.fontMetrics().boundingRect(text)
textRect.moveCenter(self.viewport().rect().center())
painter.drawText(textRect, Qt.AlignCenter, text)