Пример #1
0
    def mouseMoveEvent(self, event):

        mimeData = QtCore.QMimeData()
        mimeData.setText('%d,%d' % (event.x(), event.y()))

        drag = QtGui.QDrag(self)
        drag.setMimeData(mimeData)
        drag.setHotSpot(event.pos())
        dropAction = drag.start(QtCore.Qt.MoveAction)
        if not dropAction == QtCore.Qt.MoveAction:
            pos = QtGui.QCursor.pos()
            qApp = QtWidgets.QApplication.instance()
            widget = qApp.widgetAt(pos)
            relpos = widget.mapFromGlobal(pos)
            # need to invert Y axis
            invY = widget.frameSize().height() - relpos.y()
            sel = selectFromScreenApi(relpos.x() - self.exp, invY - self.exp,
                                      relpos.x() + self.exp, invY + self.exp)

            self.doAction(sel)
Пример #2
0
    def mouseMoveEvent(self, event):

        mimeData = QtCore.QMimeData()
        mimeData.setText('%d,%d' % (event.x(), event.y()))

        drag = QtGui.QDrag(self)
        drag.setMimeData(mimeData)
        drag.setHotSpot(event.pos())
        dropAction = drag.start(QtCore.Qt.MoveAction)
        if not dropAction == QtCore.Qt.MoveAction:
            pos = QtGui.QCursor.pos()
            widget = QtWidgets.QApplication.widgetAt(pos)
            if self.ignore_self and (widget is self or widget.objectName()
                                     == "qt_scrollarea_viewport"):
                return
            relpos = widget.mapFromGlobal(pos)
            # need to invert Y axis
            invY = widget.frameSize().height() - relpos.y()
            sel = selectFromScreenApi(relpos.x() - self.exp, invY - self.exp,
                                      relpos.x() + self.exp, invY + self.exp)

            self.doAction(sel)