3

如何在 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_()  

但是,此代码不会更改鼠标光标。

提前致谢

4

0 回答 0