今天使用QML的ChartView进行绘制图表的时候出现了以上错误,Qt Forum上的这个问题两年前都有人遇到了,现在都没有人给出答案,不知那个老外最后怎么解决了,今天把例子敲打出来后决定写个东西,以免以后再次遇到还得查找很久。
其实QML的官方示例上有个关于ChartView的Demo,在PC机上可以完美运行,接下来就是找不同了。
原因有二:
一、
1.QML 引擎有两种启动方式:
a)QQuickView 搭配Item
QQuickView view;
view.setResizeMode(QQuickView::SizeRootObjectToView);
view.setSource(QUrl("qrc:///xxx.qml"));
view.show();
b)QQmlApplicationEngine搭配window
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/xxx.qml")));
if (engine.rootObjects().isEmpty())
return -1;
采用QApplication app(argc, argv)代替QGuiApplication app(argc, argv),并且和第一种启动方式搭配使用。
二、.pro文件添加 QT += charts qml quick