我正在使用Qwt
库。我在情节上添加了垂直QwtPlotMarker
。我想将QwtSymbol
添加到marker
,我希望symbol
位于marker
的底部。当我使用setSymbol()
时,它会将符号放在标记的中间。有setLabelAlignment()
函数可指定标签的绘制位置。不幸的是,我没有为symbol
找到类似的东西。我已阅读Qwt User's Guide,其中我找到了:The setSymbol() member assigns a symbol to the marker. The symbol is drawn at the specified point.
那么,如何指定该点?
答案 0 :(得分:2)
这是一个非常古老的问题,但我找到了解决方案,我想与您分享。
有办法指明这一点。方法setValue(double x,double y)执行此操作,但此方法未在文档中描述(对我来说非常奇怪),但此方法有效!
我写了一些小但有用的片段。如果我理解正确,这段代码完全符合您的需要
QwtSymbol *sym=new QwtSymbol(QwtSymbol::Diamond,QBrush(Qt::red),QPen(Qt::red),QSize(5,5));
//create the symbol
QwtPlotMarker *mark=new QwtPlotMarker;
mark->setSymbol(sym);
mark->setLineStyle(QwtPlotMarker::VLine);
//set vertical line
mark->setValue(5,ui->qwtPlot->axisInterval(QwtPlot::yLeft).minValue());
//here you have to set the coordinate axis i.e. where the axis are meeting.
//as you can see I set coordinate 5 and the lowest coordinate of Y axis
//you can set here needed coordinates
mark->attach(ui->qwtPlot);
我希望,这有帮助。