【问题标题】:How can I move a QGraphicsItem using keyboard?如何使用键盘移动 QGraphicsItem?
【发布时间】:2015-08-14 03:24:32
【问题描述】:

您好需要帮助移动对象,在这种情况下,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)

【问题讨论】:

    标签: pyqt4 qgraphicsitem


    【解决方案1】:

    修改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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多