对于QwtMarker的Label对齐方式设置可以使用函数
void QwtPlotMarker::setLabelAlignment(Qt::Alignment align)
但这只能设置相对于标记下的对齐方式,具体说明可以看文档
In case of QwtPlotMarker::HLine the alignment is relative to the y position of the marker, but the horizontal flags correspond to the canvas rectangle. In case of QwtPlotMarker::VLine the alignment is relative to the x position of the marker, but the vertical flags correspond to the canvas rectangle.
In all other styles the alignment is relative to the marker’s position.
那么怎样设置label中文本的对齐方式呢?
通过查看QWT的源码发现最终绘制文本的对齐参数来自于QwtText
的renderFlags
属性。
所以将文本的对齐方式设置到renderFlags
属性就可以了
QwtText label;
label.setRenderFlags(Qt::AlignRight);
marker->setLabel(label);