最近使用了一下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控件的一個簡單的入門介紹,如果想要用好,還需要深入的了解。歡迎私信我一起交流。