如何使用键盘移动QGraphicsItem?

时间:2015-05-31 17:31:40

标签: pyqt4 qgraphicsitem

你好需要帮助移动一个对象,在这种情况下,qgraphicpixmapitem使用键盘抛出一个场景。这是我的代码,我需要添加什么方法来处理移动事件?

感谢

class Object(QtGui.QGraphicsPixmapItem):
    def __init__(self, parent=None):
        QtGui.QGraphicsPixmapItem.__init__(self, parent)
        self.setFlag(self.ItemIsFocusable, True)


    def keyPressEvent(self, e):
        if e.key() == QtCore.Qt.Key_Right:
            print('right')
        elif e.key() == QtCore.Qt.Key_Left:
            print('left')
        elif e.key() == QtCore.Qt.Key_Down:
            print('down')
        elif e.key() == QtCore.Qt.Key_Up:
            print('up')

    def keyReleaseEvent(self, e):
        pass


class Scene(QtGui.QGraphicsScene):
        def __init__(self, parent=None):
            QtGui.QGraphicsScene.__init__(self, parent)

1 个答案:

答案 0 :(得分:0)

修改QGraphicsPixmapItemkeyPressEvent的位置。

self.setPos(self.x()+my_x_offset, self.y()+my_y_offset)

使用您选择的适当号码替换my_x_offsetmy_y_offset(例如,您可以选择左键按下my_x_offset=10my_y_offset=0