在qml中加载ECharts

在qml中加载Echarts绘制图表有以下几个步骤:
1:在ECharts官网下载echarts-all.js
下载地址:https://echarts.baidu.com/echarts2/doc/example.html

在qml中加载ECharts_第1张图片
在qml中加载ECharts_第2张图片

2:根据官方实例,https://echarts.baidu.com/echarts2/doc/example.html选择自己需要的图例,如折线图、柱状图、饼图、k线图等,创建自己的图表:
,本文选择的是饼图中的“南丁格尔玫瑰图”;创建一个“pie.html”文件,在文件中输入以下代码:



    
    ECharts
    


    
    

3:在qml工程同级目录创建一个名为“html”的文件目录;将echarts-all.js和pie.html文件放到html文件目录下面,如下图所示:

在qml中加载ECharts_第3张图片在qml中加载ECharts_第4张图片

4:在工程文件中将html目录下面的两个文件加入资源文件:

在qml中加载ECharts_第5张图片
5:在main文件里面添加以下代码:

#include 
#include 
#include 

int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;

    //注册applicationDirPath给qml调用
    engine.rootContext()->setContextProperty(
    "applicationDirPath", QGuiApplication::applicationDirPath());

    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    if (engine.rootObjects().isEmpty())
        return -1;

    return app.exec();
}

6:在main.qml文件中添加:

import QtQuick 2.7
import QtQuick.Window 2.2

import QtWebEngine 1.2

Window {
    visible: true
    width: 1080
    height: 800

    WebEngineView {
        id: sitemonitoryView
        width:parent.width
        height:parent.height
        backgroundColor: "transparent"
        anchors.centerIn: parent
        settings.javascriptEnabled : true
        settings.pluginsEnabled:true
        url:"qrc:/html/pie.html"
    }
}

7:编译之后运行可以在界面上看见:(记得用release模式哦,debug模式下使用WebEngineView加载网页程序会崩溃,目前本人才疏学浅,没有找到问题的关键也没能解决,如有好心的朋友有好的解决方法可以在下面留言,不胜感激!)

在qml中加载ECharts_第6张图片
最后附上工程代码,有需要的朋友可以下载做个参考。
链接:https://pan.baidu.com/s/1F1RZFgGAssQLduvfMhi5vg
提取码:ar7d
复制这段内容后打开百度网盘手机App,操作更方便哦

你可能感兴趣的:(qml,qml,ECharts,WebEngineView,饼图)