我想到两种办法,(1)用opencv绘制:根据yaw角和指南针半径,实时计算表针的三角形的三个点,再用drawContours来填充三角形。
(2)使用QT:
QwtCompass *compass = new QwtCompass(this); //新建一个compass
compass->setLineWidth(4);
compass->setScaleComponents(
QwtAbstractScaleDraw::Ticks | QwtAbstractScaleDraw::Labels );
compass->setScaleTicks(0, 0, 3); //设置表盘的分度符
compass->setNeedle(new QwtCompassMagnetNeedle(
QwtCompassMagnetNeedle::TriangleStyle, Qt::white, Qt::red)); //这句实现箭头效果
compass->setValue(41.0); //41表示指南针转过41度,效果如上图。
在头文件中需包含qwt-6.0.1的一些头文件,否则编译会出错。
#include
#include
#include
我想到两种办法,(1)用opencv绘制:根据yaw角和指南针半径,实时计算表针的三角形的三个点,再用drawContours来填充三角形。
(2)使用QT:
QwtCompass *compass = new QwtCompass(this); //新建一个compass
compass->setLineWidth(4);
compass->setScaleComponents(
QwtAbstractScaleDraw::Ticks | QwtAbstractScaleDraw::Labels );
compass->setScaleTicks(0, 0, 3); //设置表盘的分度符
compass->setNeedle(new QwtCompassMagnetNeedle(
QwtCompassMagnetNeedle::TriangleStyle, Qt::white, Qt::red)); //这句实现箭头效果
compass->setValue(41.0); //41表示指南针转过41度,效果如上图。
在头文件中需包含qwt-6.0.1的一些头文件,否则编译会出错。
#include
#include
#include
1
举报