gpt4 book ai didi

c++ - QCustomPlot 中项目的手动矩形选择

转载 作者:行者123 更新时间:2023-11-30 05:08:52 28 4
gpt4 key购买 nike

我正在开发一个带有绘图的简单 GUI,您可以在其中设置一些 x 和 y 范围。我如何从绘图上所有图形中选择这些范围内的所有项目?我试图重现在 mouse rectangular multi range selection 上运行的相同算法但我没有成功。我希望有一些我想念的更简单的方法。

示例:enter image description here

假设 A 和 B 是一对 QCPRanges:

QCPRange A = QCPRange(2,4);
QCPRange B = QCPRange(1,8);

我想在图上标记 A 和 B 范围内的点。

我正在寻找一些可以遵循的线索和提示,而不是真正完整的复制粘贴就绪代码。

最佳答案

我通过以下方式实现了我想要的:

  1. 通过迭代 plot->getAllGraphs();

    中每个图表的所有 data() 获取所有图表的所有记录
  2. 检查 QCPRanges 是否包含每个数据点

  3. 根据满足 QCPRanges 要求的索引构建 QCPDataRanges

  4. 从 QCPDataRanges 构建 QCPSelection。

  5. 为循环中的每个图形设置适当的选择。

Note: To make it work interaction QCP::iMultiSelect must be set for the plot. Also you need to setSelectable(QCP::stMultipleDataRanges) for every graph. Otherwise you might get an unwanted behavior as a result of selection.

这并不是世界上最优化的方法,但如果不重写部分库,我想不出更好的方法。欢迎任何更好的方法

关于c++ - QCustomPlot 中项目的手动矩形选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46550140/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com