我正在尝试在 Windows 上的 Qt 4.8 的帮助下制作自己的动画 GUI。一开始,我使用小部件和 Qt Designer 来放置水平/网格/等布局,并将其放入普通小部件内,但我发现让它们随着动画框架移动并不容易。所以我切换到 QGraphicsScene/QGraphicsView ,它看起来更容易与动画一起使用。我会制作一个简单的菜单,其中有主要项目,当悬停时,子菜单项可见。很简单,就是一个下拉水平菜单。我放置了 QGraphicsTextItem 项,但我仍然不明白如何连接主项的悬停事件来显示子菜单项。任何想法?目前我有一个 QMainWindow 和一个 QGraphicsView 小部件,它占据了所有区域。
您可以通过创建您自己的专门的
QGraphicsTextItem
子类并重新实现 hoverEnterEvent
和 hoverLeaveEvent
方法,在悬停时显示子菜单(或执行您想要的任何操作)。
setAcceptHoverEvents
文档,以便了解这些事件何时以及针对哪些项目生成。