QWT中Qdial的入门介绍

来源:互联网 发布:詹姆斯13年总决赛数据 编辑:程序博客网 时间:2024/05/28 23:10

最近使用了一下QWT。因为是第一次使用,所以有一些需要注意的地方,特记录在此,以供后来者参考。

1,QWT的安装与配置环境

有关QWT的安装与配置,网络上已经有很多篇文章,这里就不再重复了。介绍一下自己当前的环境:Win10 64位,QT 5.8(msvc 2015),QWT 6.1.3。

2,QwtDial

QwtDial是QWT中几大控件之一。

网络上,关于QwtDial的介绍不多,薯片也是在参考了别的控件例子和官方的介绍文档,才完成的。

在Qt designer上,添加一个QwtDial控件,在属性编辑器里面,可以查看QwtDial的属性,需要先对这里的属性做一个大致的了解,修改属性的值,观察QwtDial控件的变化。

3,代码实现QwtDial

Qt designer上面添加的QwtDial控件是静态的。我使用"ui->dial->"这样的函数,是不行的。所以,需要用代码来动态实现。

1),添加QwtDial相关的头文件。

#include <QMainWindow>#include<qwt/qwt_dial.h>#include<qwt/qwt_dial_needle.h>

qwt_dial是表盘,qwt_dial_needle是表盘中的指针。

2),在头文件中,定义

QwtDial* dial_;

并且在源文件中,初始化。

dial_ = new QwtDial(this);        dial_->setGeometry(0,50,  500, 500);    dial_->setLowerBound(0);    dial_->setUpperBound(200);    dial_->setMode(QwtDial::RotateNeedle);  dial_->setValue(100);    dial_->show();

里面的函数,可以参考http://qwt.sourceforge.net/class_qwt_dial.html里面的解释。

在上面的代码中,分别是dial控件的位置、尺寸、最大和最小刻度值、当前值、模式等。

这时候运行以后,可以看到一个表盘。

但是这个表盘是没有指针显示的。

3),表盘指针显示

这时候,就需要用到QwtDialSimpleNeedle类了(这也是在第一步需要添加QwtDialSimpleNeedle 头文件的原因)。

定义QwtDialSimpleNeedle一个指针以后,需要用

dial_needle_ = new QwtDialSimpleNeedle(QwtDialSimpleNeedle::Arrow, true, Qt::gray, Qt::darkGray);

来初始化它。

然后在dial_->show();之前,添加dial_->setNeedle(dial_needle_);

这样就会在表盘中间显示刻度指针。

4,结语

以上只是对于QWT Qdial控件的一个简单的入门介绍,如果想要用好,还需要深入的了解。欢迎私信我一起交流。

原创粉丝点击