Пример #1
0
 def __init__(self, rect, parent=None):
     QtGui.QGraphicsRectItem.__init__(self, rect, parent)
     self.__resizing = False
     self.__handlePoly = QtGui.QPolygonF([
         QtCore.QPointF(0, -self.__handleSize),
         QtCore.QPointF(0, 0),
         QtCore.QPointF(-self.__handleSize, 0)
     ])
     self.setFlag(QtGui.QGraphicsItem.ItemStacksBehindParent)
     # -- handle --
     self.__handlePos = QtCore.QPointF(0, 0)
     # -- header --
     self.__headerContentRect = None
     self.__headerRect = None
     # -- color --
     self.__color = None
     self.__darkerColor = None
     self.__shadowColor = None
     self.setColor(self.__defaultColor.darker(110))
     # -- optionnal cosmetics --
     if safeEffects:
         fx = QtGui.QGraphicsDropShadowEffect()
         fx.setOffset(2, 2)
         fx.setBlurRadius(5)
         self.setGraphicsEffect(fx)
Пример #2
0
    def shape(self):
        path = QtGui.QPainterPath()

        # Enlarge selection zone
        diff = self.p2 - self.p1

        if (abs(diff.x()) > abs(diff.y())):
            dp = QtCore.QPointF(0, 10)
        else:
            dp = QtCore.QPointF(10, 0)

        p1 = self.p1 - dp
        p2 = self.p1 + dp
        p3 = self.p2 + dp
        p4 = self.p2 - dp
        poly = QtGui.QPolygonF([p1, p2, p3, p4])
        path.addPolygon(poly)

        return path