QT的QCustomPlot如何设置通过鼠标拖动和缩放不会移动到负半轴

csdn_hthy 2021-01-07 03:58:39
通过缩放或拖动只显示坐标轴第一象限的内容,当X轴或Y轴移动到0的时候就拖不到负半轴,不显示画红线的部分。
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
this->setGeometry(100,100,500,400);

gridLayout = new QGridLayout(this);
gridLayout->setSpacing(5);
gridLayout->setContentsMargins(20, 20, 20, 20);

plot = new QCustomPlot(this);
gridLayout->addWidget(plot);
plot->setBackground(QColor(222,240,254)); //设置背景颜色

/*
iRangeDrag 轴范围是可拖动的 鼠标按住移动坐标
iRangeZoom 轴范围可通过鼠标滚轮缩放 鼠标滚轮缩放曲线
iSelectAxes 轴是可以选择的 轴可以被选中
iSelectLegend 图例可以选择 图例可以被选中
iSelectPlottables 图中的内容可以被选择,(例如:曲线)
*/
plot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectAxes |
QCP::iSelectLegend | QCP::iSelectPlottables); //设置曲线属性


plot->xAxis->setRange(0,100);
plot->yAxis->setRange(0,50);

}


...全文
1869 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
king_6865 2021-03-04
  • 打赏
  • 举报
回复 3
connect(pCustomPlot->yAxis,SIGNAL(rangeChanged(QCPRange)),this,SLOT(setyAxisRange(QCPRange))); void TabWidgetState::setyAxisRange(QCPRange) { pCustomPlot->yAxis->setRangeLower(0); pCustomPlot->xAxis->setRangeLower(0); }
csdn_hthy 2021-01-07
  • 打赏
  • 举报
回复 1
https://blog.csdn.net/lhw19931201/article/details/103631644?utm_medium=distribute.pc_relevant_bbs_down.none-task--2~all~first_rank_v2~rank_v29-3.nonecase&depth_1-utm_source=distribute.pc_relevant_bbs_down.none-task--2~all~first_rank_v2~rank_v29-3.nonecase 更具这个将问题解决,,方便大家查找

24,854

社区成员

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

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