0

我在自定义 QGraphicsItem 中传递 keyPressEvent 时遇到问题,我不确定我是否理解它在此类对象上的工作原理。我知道它已经被问过了,我在 C++ 和 Python 中发现了很多类似的问题,但我无法让它在我的脚本中工作......

在 Qt 的文档中说:

Note that key events are only received for items that set the ItemIsFocusable flag, 
and that have keyboard input focus.

我的猜测是与这句话相关的代码中有问题。

基本上,我的课是这样的:

class myItem(QtWidgets.QGraphicsItem):
    def __init__(self, **kwargs):
        super(myItem, self).__init__(**kwargs)

        self.setFlag(QtWidgets.QGraphicsItem.ItemIsSelectable)
        self.setFlag(QtWidgets.QGraphicsItem.ItemIsFocusable)

    def keyPressEvent(self, event):
        if event == QtCore.Qt.Key_Delete:
            self.scene().removeItem(self)
        return super(myItem, self).keyPressEvent(event)

我错过了一个标志,还是我需要在我的场景类中设置一些东西,或者类似的东西?

干杯:)

4

0 回答 0