def viewportRect(self):
        """
        Returns the QRectF that represents the visible viewport rect for the
        current view.
        
        :return     <QRectF>
        """
        w = self.width()
        h = self.height()
        
        vbar = self.verticalScrollBar()
        hbar = self.horizontalScrollBar()
        
        if vbar.isVisible():
            w -= vbar.width()
        if hbar.isVisible():
            h -= hbar.height()
        
        top_l = self.mapToScene(QPoint(0, 0))
        bot_r = self.mapToScene(QPoint(w, h))
        
        return QRectF(top_l.x(), 
                      top_l.y(), 
                      bot_r.x() - top_l.x(), 
                      bot_r.y() - top_l.y())
Returns the QRectF that represents the visible viewport rect for the
        current view.
        
        :return     <QRectF>