QCustomPlot QCPItemLine
Posted
技术标签:
【中文标题】QCustomPlot QCPItemLine【英文标题】: 【发布时间】:2014-12-08 11:33:48 【问题描述】:我想问一个关于 qcustomplot 的问题。如何根据 Slider 更改 itemLine 位置? (如 x = a)
#include "itemline.h"
#include "ui_itemline.h"
#include "qcustomplot.h"
itemLine::itemLine(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::itemLine)
ui->setupUi(this);
QCPItemLine *item = new QCPItemLine(ui->customPlot);
ui->customPlot->addItem(item);
item->setPen(QPen(Qt::red));
item->start->setCoords(1,0);
item->end->setCoords(1,5);
connect(ui->horizontalSlider, SIGNAL(valueChanged(int)), this, SLOT(horzSliderChanged(int)));
itemLine::~itemLine()
delete ui;
void itemLine::horzSliderChanged(int value)
// how can i change item position acording to horizontalSlider, like "x = a" line ?
【问题讨论】:
【参考方案1】:首先,您应该将指向QCPItemLine
的指针保留为类成员。之后horzSliderChanged
插槽可能是这样的:
void itemLine::horzSliderChanged(int value)
item->start->setCoords(value,0);
item->end->setCoords(value,5);
ui->customPlot->replot();
【讨论】:
如何将指向 QCPItemLine 的指针保留为类成员?抱歉,我是 Qt 新手。 这与 Qt 无关。你应该学习 C++。只需在类头文件中声明指针即可。 好的,谢谢。你说得对,我必须学习 C++。我照你说的做了,就可以了。谢谢内贾特。以上是关于QCustomPlot QCPItemLine的主要内容,如果未能解决你的问题,请参考以下文章
QCustomPlot开发笔记:QCustomPlot用户交互元素项以及特殊用法