你好需要帮助移动一个对象,在这种情况下,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)
答案 0 :(得分:0)
修改QGraphicsPixmapItem
上keyPressEvent
的位置。
self.setPos(self.x()+my_x_offset, self.y()+my_y_offset)
使用您选择的适当号码替换my_x_offset
和my_y_offset
(例如,您可以选择左键按下my_x_offset=10
和my_y_offset=0
)