Chinaunix首页 | 论坛 | 博客
  • 博客访问: 267468
  • 博文数量: 74
  • 博客积分: 1336
  • 博客等级: 中尉
  • 技术积分: 1057
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-02 09:33
文章分类

全部博文(74)

文章存档

2016年(6)

2015年(4)

2014年(20)

2013年(8)

2012年(16)

2010年(9)

2009年(11)

我的朋友

分类: LINUX

2014-06-09 07:40:30

1.新建一个Qt工程,基于Dialog基类,名称为curvedemo,如图3-34所示。

image

图3-34 curvedemo工程结构示意图

2.在curvedemo.pro文件中加入qwt的库文件及头文件所在位置,如图3-35所示。

image

图3-35 增加库文件目录示意图

3.在ui中新增加一个plot控件实体,命名为myplot,如图3-36所示。

image

图3-36 增加控件后示意图

4.在dialog.h头文件中增加记录点的内容,如图3-37所示。

image

image

图3-37 增加控件后示意图

5.在dialog.cpp文件中模拟数据点内容。

#ifndef DIALOG_H

#define DIALOG_H

#include

#include

#include

#include

#include

#include

#include

#include

#include

const int Size = 27;

namespace Ui {

class Dialog;

}

class Dialog : public QDialog

{

Q_OBJECT

public:

explicit Dialog(QWidget *parent = 0);

~Dialog();

private:

Ui::Dialog *ui;

public:

double xval[Size];

double yval[Size];

QwtScaleMap xMap;

QwtScaleMap yMap;

QwtPlotCurve d_curves;

};

#endif // DIALOG_H

#include "dialog.h"

#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :

QDialog(parent),

ui(new Ui::Dialog)

{

ui->setupUi(this);

int i;

xMap.setScaleInterval(-0.5, 10.5);

yMap.setScaleInterval(-1.1, 1.1);

for(i=0; i

{

xval[i] = double(i) * 10.0 / double(Size - 1);

yval[i] = qSin(xval[i]) * qCos(2.0 * xval[i]);

}

d_curves.setSymbol(new QwtSymbol(QwtSymbol::Cross, Qt::NoBrush,

QPen(Qt::black), QSize(5, 5) ) );

d_curves.setPen(QColor(Qt::red));

d_curves.setStyle(QwtPlotCurve::Lines);

d_curves.setCurveAttribute(QwtPlotCurve::Fitted);

d_curves.setRawSamples(xval, yval, Size);

d_curves.attach(ui->myplot);

}

Dialog::~Dialog()

{

delete ui;

}

6.设置x86平台下面编译工具链,如图3-38所示。

image

图3-38 增加控件后示意图

7. x86平台运行结果,如图3-39所示。

image

图3-39 x86平台运行结果

8. 设置ARM平台下面编译工具链,如图3-40所示。编译运行后拷贝至根文件系统目录下,然后运行./curvedemo –qws。会得到如图3-39同样结果。

image

图3-40 QT Creator安装

阅读(2392) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~