QwtSystemClock类提供了一个高分辨率的时钟功能(依赖于特定的系统)。
代码分析:
class QWT_EXPORT QwtSystemClock
{
public:
QwtSystemClock();
virtual ~QwtSystemClock();
bool isNull() const;
void start();
double restart();
double elapsed() const;
static double precision();
private:
class PrivateData;
PrivateData *d_data;
};
QwtSystemClock类在QwtSamplingThread类里被用作了采样时钟。
--------------------------------------------------------------
QwtSamplingThread类:定期采集样品的线程,继承自QThread。
QwtSamplingThread自身也是一个抽象基类。
代码分析
class QWT_EXPORT QwtSamplingThread: public QThread
{
Q_OBJECT
public:
virtual ~QwtSamplingThread();
double interval() const;
double elapsed() const;
public Q_SLOTS:
void setInterval( double interval );
void stop();
protected:
explicit QwtSamplingThread( QObject *parent = NULL );
virtual void run();
/*!
Collect a sample
\param elapsed Time since the thread was started in miliseconds
*/
virtual void sample( double elapsed ) = 0; // 需重新实现
private:
class PrivateData;
PrivateData *d_data;
};
在D:\qwt-6.0.1\examples\oscilloscope\oscilloscope.pro例子中有对以上两个类使用的示例。