Изменить указатель мыши во время перетаскивания

Как я могу изменить указатель мыши / курсор во время перетаскивания в PyQt4 (я хочу один указатель мыши в левой части моего виджета и другой указатель в правой части):

from PyQt4 import QtGui, QtCore
class Button(QtGui.QPushButton):

    def mousePressEvent(self, event):
        mimedata = QtCore.QMimeData()
        self.drag = QtGui.QDrag(self)
        self.drag.setMimeData(mimedata)
        self.drag.start(QtCore.Qt.CopyAction)


class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()
        self.setAcceptDrops(True)
        self.button = Button("Drag me", self)
        self.setGeometry(300, 300, 300, 150)

    def dragEnterEvent(self, e):
        e.accept()

    def dragMoveEvent(self, e):
        pm = QtGui.QPixmap(32,32)

        if e.pos().x()<150:
            pm.fill(QtCore.Qt.blue)    
            self.button.drag.setDragCursor(pm,QtCore.Qt.CopyAction) #Not working
        else:
            pm.fill(QtCore.Qt.red)    
            self.button.drag.setDragCursor(pm,QtCore.Qt.MoveAction) #Not working

app = QtGui.QApplication([])
ex = Example()
ex.show()
app.exec_()  

Этот код, однако, не меняет курсор мыши.

Заранее спасибо Мадс

0 ответов

Другие вопросы по тегам