QT与ECharts交互,绘制曲线图
我使用的是QWebengineView,在pro文件内添加:
QT += webenginewidgets
然后在设计窗口添加一个widget控件提升为QWebengineView:
.cpp 代码如下:
#include "mainwindow.h" #include "ui_mainwindow.h" #include#include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); ui->widget->load(QUrl("file:///" + qApp->applicationDirPath()+"/html/line.html")); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { QStringList list_Date; QStringList list_PD; QStringList list_QX; QStringList list_DK; QStringList list_ZJ; QStringList list_CF; QJsonArray num_josn; QJsonArray num_josnPD; QJsonArray num_josnQX; QJsonArray num_josnDK; QJsonArray num_josnZJ; QJsonArray num_josnCF; QJsonDocument num_document; QJsonDocument num_documentPD; QJsonDocument num_documentQX; QJsonDocument num_documentDK; QJsonDocument num_documentZJ; QJsonDocument num_documentCF; QByteArray num_byteArray; QByteArray num_byteArrayPD; QByteArray num_byteArrayQX; QByteArray num_byteArrayDK; QByteArray num_byteArrayZJ; QByteArray num_byteArrayCF; QDateTime tim = QDateTime::currentDateTime(); QString aa = tim.toString("yyyy-MM-dd"); QString aa_2 = tim.addDays(-1).toString("yyyy-MM-dd"); QString aa_3 = tim.addDays(-2).toString("yyyy-MM-dd"); QString aa_4 = tim.addDays(-3).toString("yyyy-MM-dd"); QString aa_5 = tim.addDays(-4).toString("yyyy-MM-dd"); QString aa_6 = tim.addDays(-5).toString("yyyy-MM-dd"); QString aa_7 = tim.addDays(-6).toString("yyyy-MM-dd"); QString aa_8 = tim.addDays(-7).toString("yyyy-MM-dd"); QDateTime timeDate; timeDate = QDateTime::fromString(aa,"yyyy-MM-dd"); int time_Int = timeDate.toTime_t(); QDateTime timeDate_2; timeDate_2 = QDateTime::fromString(aa_2,"yyyy-MM-dd"); int time_Int_2 = timeDate_2.toTime_t(); QDateTime timeDate_3; timeDate_3 = QDateTime::fromString(aa_3,"yyyy-MM-dd"); int time_Int_3 = timeDate_3.toTime_t(); QDateTime timeDate_4; timeDate_4 = QDateTime::fromString(aa_4,"yyyy-MM-dd"); int time_Int_4 = timeDate_4.toTime_t(); QDateTime timeDate_5; timeDate_5 = QDateTime::fromString(aa_5,"yyyy-MM-dd"); int time_Int_5 = timeDate_5.toTime_t(); QDateTime timeDate_6; timeDate_6 = QDateTime::fromString(aa_6,"yyyy-MM-dd"); int time_Int_6 = timeDate_6.toTime_t(); QDateTime timeDate_7; timeDate_7 = QDateTime::fromString(aa_7,"yyyy-MM-dd"); int time_Int_7 = timeDate_7.toTime_t(); QDateTime timeDate_8; timeDate_8 = QDateTime::fromString(aa_8,"yyyy-MM-dd"); int time_Int_8 = timeDate_8.toTime_t(); QString time_List = QString::number(time_Int); QString time_List_2 = QString::number(time_Int_2); QString time_List_3 = QString::number(time_Int_3); QString time_List_4 = QString::number(time_Int_4); QString time_List_5 = QString::number(time_Int_5); QString time_List_6 = QString::number(time_Int_6); QString time_List_7 = QString::number(time_Int_7); QString time_List_8 = QString::number(time_Int_8); list_Date << time_List_8< 10) { for(int i=list_Date.size()-10;i widget->page()->runJavaScript(command); ui->widget->page()->runJavaScript(commandPD); ui->widget->page()->runJavaScript(commandQX); ui->widget->page()->runJavaScript(commandDK); ui->widget->page()->runJavaScript(commandZJ); ui->widget->page()->runJavaScript(commandCF); }
运行如图:
源码下载链接:
链接:https://pan.baidu.com/s/1O4kQUn53-hhjdylqJJqrNA
提取码:0810
个人感觉echarts图形会美观很多。