在qt4.6.2版本中绘制温度湿度折线图完整代码
时间: 2023-11-22 19:54:01 浏览: 220
以下是一个简单的基于Qt 4.6.2的温度湿度折线图绘制示例代码:
```cpp
#include <QtGui/QApplication>
#include <QtGui/QWidget>
#include <QtGui/QPainter>
#include <QtCore/QList>
#include <QtCore/QPointF>
class TemperatureHumidityGraph : public QWidget {
public:
TemperatureHumidityGraph(QWidget *parent = 0) : QWidget(parent) {}
protected:
void paintEvent(QPaintEvent *) {
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
painter.setPen(Qt::red);
QList<QPointF> points;
points << QPointF(50, 200) << QPointF(100, 150)
<< QPointF(150, 120) << QPointF(200, 100)
<< QPointF(250, 80) << QPointF(300, 70);
// 绘制温度折线图
painter.drawPolyline(QPolygonF(points));
painter.setPen(Qt::blue);
QList<QPointF> points2;
points2 << QPointF(50, 150) << QPointF(100, 120)
<< QPointF(150, 100) << QPointF(200, 90)
<< QPointF(250, 80) << QPointF(300, 70);
// 绘制湿度折线图
painter.drawPolyline(QPolygonF(points2));
}
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
TemperatureHumidityGraph graph;
graph.show();
return app.exec();
}
```
这段代码创建了一个`TemperatureHumidityGraph`类,它是一个继承自`QWidget`的窗口部件,重写了`paintEvent`方法用来绘制温度湿度折线图。
在`paintEvent`方法中,我们首先创建了一个`QPainter`对象,并设置了抗锯齿属性和红色画笔。接着,我们定义了一个`QList<QPointF>`类型的变量`points`,它包括了一组温度数据的坐标点,这些坐标点用来构建温度折线图。
使用`QPainter`对象的`drawPolyline`方法可以根据坐标点绘制出一条折线图。同样的,我们定义了另一个`QList<QPointF>`类型的变量`points2`,它包括了一组湿度数据的坐标点,用来绘制湿度折线图。
最后,在`main`函数中,我们创建了一个`TemperatureHumidityGraph`对象,并将其显示出来。
当程序运行时,会显示一个简单的温度湿度折线图窗口。你可以根据需要修改坐标点的值来实现更加复杂的折线图。
阅读全文