QCustomPlot画的散点图如何选择单个点??? 跪求高手

cmdxyz 2015-12-01 11:18:10
QCustomPlot 绘制的散点图,,请问如何才能实现支持鼠标点击选中单个点,就是选择后,只有选中的点变色显示,右键可修改所选点的x和y。现在选择是选中所有点,而且线的风格设置为lsNone时看不到选择效果,设置为lsLine时,各个点之间的连线标示出选中状态。 我用的是1.3.1版本,目前最新的版本了,是不是QCustomPlot目前还不支持选择单个点的功能? 若要增加此功能,需要怎么做,求思路。。。。。。
...全文
3729 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
LittleFly4398 2018-01-21
  • 打赏
  • 举报
回复 3
百度过许多次了,都来了这里。 一直没找到答案,今天无意中找到答案了。 希望我的回答能帮到来到同样地方的人。 ^_^ 查看QcustomPlot的帮助文档时,得知可以使用这个函数: void QCPAbstractPlottable::setSelectable (QCP::SelectionType selectable) 注意必须设置一个互动标志才能选择到:QCP::iSelectPlottables 如果要选择多个点,还需要设置另一个互动标志:QCP::iMultiSelect 举个例子: ui->qCustomPlot->graph(0)->setSelectable(QCP::stMultipleDataRanges); // 可选择多个数据范围,包括单个点 ui->qCustomPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectPlottables | QCP::iMultiSelect); 注意,设置QCP::iSelectPlottables互动标志后,曲线默认为整条曲线可选,如果不想选择其它曲线的点,可以这样: ui->qCustomPlot->graph(i)->setSelectable(QCP::stNone); // i为其它曲线的序号 继续,如果你想获取点击的点的集合的话,可以通过graph()的成员函数selection()来得到,例如: qDebug() << ui->qCustomPlot->graph(0)->selection(); 同时可以利用selectionChanged(QCPDataSelection)信号来显示变化的选择集合: connect(ui->qCustomPlot->graph(0), SIGNAL(selectionChanged(QCPDataSelection)), this, SLOT(showSelection(QCPDataSelection))); 槽函数: void MainWindow::showSelection(QCPDataSelection ds) { qDebug() << "Selection Ranges :" << ds << ", RangeCount :" << ds.dataRangeCount(); }
春夜喜小雨 2017-03-29
  • 打赏
  • 举报
回复
可以改变散点的大小码?
ooolinux 2016-11-01
  • 打赏
  • 举报
回复
也许可以用图像热点(热区),每一个点就是一个热区。
QQ_278397935 2016-11-01
  • 打赏
  • 举报
回复
楼主半夜发的帖子·没人来结帖呀,同问~~谢谢·
u012341183 2016-04-28
  • 打赏
  • 举报
回复
楼主解决没有呀 我也碰到了这个问题
u012341183 2016-04-19
  • 打赏
  • 举报
回复
楼主解决了没有呀 我也遇到这个问题了
赵4老师 2015-12-02
  • 打赏
  • 举报
回复
在设计时双击控件进入控件的属性页设置控件的一大堆选项。

24,853

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧