我有一个包含QGraphicsView和场景的应用程序。我在场景中创建了一个文本框,我希望每当我将鼠标悬停在图形项目上时它就会出现,然后我希望它在光标不在图形项目上时消失。我想更改该文本框的位置,使其位于图形项旁边。我编写了这段代码,但消息框仍然出现在场景之外(或者说是确切的应用程序)。
class graphicsScene(QtGui.QGraphicsScene):
def __init__(self, parent=None):
super(graphicsScene, self).__init__(parent)
self.text = QtGui.QTextEdit()
self.text.setVisible(False)
def mouseMoveEvent(self, event):
self.cursorCurrentPosition = event.scenePos()
self.current = QtCore.QPointF(self.cursorCurrentPosition.x(), self.cursorCurrentPosition.y())
if len(switchObject_list) > 0:
for switch in switchObject_list:
if switch.isUnderMouse():
print 'under mouse'
self.text.setVisible(True)
pos = self.text.mapToParent(self.current.toPoint())
self.text.move(pos)
else:
self.text.setVisible(False)