首先,h文件中定义,温度和湿度的所需变量
QSplineSeries*temperature_node1_series;
QSplineSeries*temperature_node2_series;
QSplineSeries*humidity_node1_series;
QSplineSeries*humidity_node2_series;
QChartView*temperature_chartView;
QChartView*humidity_chartView;
在添加一个初始化的函数
void initSeries(QDateTime from, QDateTime to);
。cpp文件中
void initwidget::initSeries(QDateTime from,QDateTime to)
{
//温度线
this->temperature_node1_series=new QSplineSeries(this);//
this->temperature_node1_series->setName("node1");//图例
this->humidity_node1_series=new QSplineSeries(this);
this->humidity_node1_series->setName("node1");
//湿度线
this->temperature_node2_series=new QSplineSeries(this);
this->temperature_node2_series->setName("node2");
this->humidity_node2_series=new QSplineSeries(this);
this->humidity_node2_series->setName("node2");
//QChart波形图类
QChart*chart_temperature=new QChart();//
chart_temperature->setTitle("温度曲线");
chart_temperature->addSeries(this->temperature_node1_series);//添加
chart_temperature->addSeries(this->temperature_node2_series);//添加
//Y轴操作,设置范围
QValueAxis *temperature_YAxis=new QValueAxis(this);
temperature_YAxis->setRange(25,35);//设置范围
//X轴操作,设置时间
QDateTimeAxis *temperature_XAxis=new QDateTimeAxis(this);
temperature_XAxis->setRange(from,to);
//添加到QChart中
chart_temperature->addAxis(temperature_YAxis,Qt::AlignLeft);
chart_temperature->addAxis(temperature_XAxis,Qt::AlignBottom);
//添加显示线
this->temperature_node1_series->attachAxis(temperature_YAxis);
this->temperature_node1_series->attachAxis(temperature_XAxis);
this->temperature_node2_series->attachAxis(temperature_YAxis);
this->temperature_node2_series->attachAxis(temperature_XAxis);
//将QChart添加到可视控件中
this->temperature_chartView->setChart(chart_temperature);
//下面是湿度线
QChart*chart_humidity=new QChart();
chart_humidity->setTitle("湿度曲线");
chart_humidity->addSeries(this->humidity_node1_series);
chart_humidity->addSeries(this->humidity_node2_series);
QValueAxis *humidity_YAxis=new QValueAxis(this);
humidity_YAxis->setRange(0,100);
QDateTimeAxis *humidity_XAxis=new QDateTimeAxis(this);
humidity_XAxis->setRange(from,to);
chart_humidity->addAxis(humidity_YAxis,Qt::AlignLeft);
chart_humidity->addAxis(humidity_XAxis,Qt::AlignBottom);
this->humidity_node1_series->attachAxis(humidity_YAxis);
this->humidity_node1_series->attachAxis(humidity_XAxis);
this->humidity_node2_series->attachAxis(humidity_YAxis);
this->humidity_node2_series->attachAxis(humidity_XAxis);
this->humidity_chartView->setChart(chart_humidity);
}