我正在尝试使用Qt开发一个功能,我不知道它是否可能实现。以下是要求:
当用户将鼠标悬停在节点(从QGraphicsItem派生的对象)上时,将在该节点附近显示一个窗口,在该窗口中可能会出现一些直方图或按钮,您可以单击这些直方图或按钮来显示进一步的信息。当鼠标离开窗口时,它将自动关闭。
我尝试使用工具提示,因为它可以在节点附近弹出,并在鼠标离开时关闭,但它只能显示文本。所以,它仍然不能那样工作。我想知道是否有其他方法可以做到这一点?我在谷歌上搜索了很多次,但还是没有答案。
非常感谢你帮我这个忙。
发布于 2013-08-24 10:31:16
如果你可以使用第三方库,Qxt提供了一个类,它提供了一个基于QWidget的工具提示,它允许你使用一个任意的小部件作为工具提示,而不仅仅是文本。
请参阅:Qxt::ToolTip
发布于 2013-08-24 15:55:10
您不必对应用程序使用工具提示
您可以在hover鼠标event上使用或调用小部件或对话框
发布于 2013-08-24 16:56:56
请参考Qt示例EmbeddedDialog示例,它是高级的,但您可以理解悬停进入/离开事件是如何工作的。我个人倾向于不要为每个项目创建Popupdialog的实例,只有在必要时才创建它。否则,创建一个对话框,并通过构造函数初始化将其引用传递给所有项。
1. These are the API you are intrested on, reimplemet this.
QGraphicsItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event) and void QGraphicsItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
2. When You create Dialog, You can pass Qt::WindowFlags as Qt::ToolTip. https://stackoverflow.com/questions/18413510
复制相似问题