我正在研究一个类,它会在调用时根据给定的参数创建一个x,y图,但我还想要在光标悬停在x,y图上时对每个点进行描述。
例如,如果我生成一个显示市场增长(年份,数量,费率)的图表,并且我将鼠标悬停在某个点上,我想要一个小框出现,其中将包含关于该点的详细信息,如年份,股票,股票价格,图表中的位置等我已经完成了图形生成器,但现在我需要这部分的帮助。
如何在C ++中实现这一目标?
注意 - 我正在使用Ubuntu。
另一个注意事项---我创建了没有图形库的图形,没有任何图形功能。如果你一开始不理解我的问题,我基本上要问两件事:1。如何使用外部图形库将光标跟踪实现到我的非图形图形,以及2.如果不可能,我应该使用哪个库创建图表以及如何将它们用于光标跟踪?
很抱歉这是混乱,这是我第一次使用图形。我更像是一个“没有外部库”的程序员。
感谢。
答案 0 :(得分:2)
我会选择Qt,因为有基于Qt的名为Qwt的第三方库,它提供了很多技术小部件,包括绘制的小部件(你可能也对Qtcentre上的Qwt dedicated sub-forum感兴趣)
“悬停时txt-box”效果的解决方案实际上非常简单,您只需通过QWidget::setToolTip( const QString& )为节点小部件设置工具提示。
答案 1 :(得分:1)
您需要维护图表中的对象列表,然后对光标悬停的每个坐标执行“命中测试”。此命中测试基本上需要遍历您的列表,查看当前坐标是否落在该元素的图形上的对象上。
答案 2 :(得分:-1)
如果您是通过控制台创建图形,我不相信该控制台无论如何都知道您的鼠标位置。您在Java等语言中找到的许多图形函数在C ++中并不存在,因为C ++的创建者希望这些图形库功能强大,而不是可移植。我推荐QT,但我从未亲自使用它。这是我见过其他地方最推荐的图书馆。