在移动设备上启动时,ChartView崩溃-QT QML错误

Mr.*_*per 3 charts qt android qml

我有一个问题,当我在带有图表的android平板电脑(android 7.0)上启动调试时,我遇到了崩溃应用程序。

所以我的qt.pro:

QT += qml quick core charts widgets
Run Code Online (Sandbox Code Playgroud)

我的图表代码:

ChartView {
       id: chart
       title: "Top-5 car brand shares in Finland"
       anchors.fill: parent
       legend.alignment: Qt.AlignBottom
       antialiasing: true

       PieSeries {
           id: pieSeries
           PieSlice { label: "Volkswagen"; value: 13.5 }
           PieSlice { label: "Toyota"; value: 10.9 }
           PieSlice { label: "Ford"; value: 8.6 }
           PieSlice { label: "Skoda"; value: 8.2 }
           PieSlice { label: "Volvo"; value: 6.8 }
       }
   }
Run Code Online (Sandbox Code Playgroud)

我在QML文件中的导入:

import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Controls 2.1
import QtQuick.Window 2.2
import QtQuick.Layouts 1.3
import QtGraphicalEffects 1.0
import QtCharts 2.2
Run Code Online (Sandbox Code Playgroud)

我已按照以下指南设置图表:

https://doc.qt.io/qt-5/qtcharts-index.html

但是当我在android平板电脑上启动页面时,此崩溃。同样在iOS上我崩溃了。错误返回为:

W链接器:/data/data/domain.app/qt-reserved-files/qml/QtCharts/libqtchartsqml2.so:不支持的标志DT_FLAGS_1 = 0x81 F libc:致命信号11(SIGSEGV),代码1,在tid 6778中的故障地址0x0 (QtThread)

有人可以帮助我吗?

Mr.*_*per 5

解决方法是:在main.cpp中设置

#include <QApplication>
Run Code Online (Sandbox Code Playgroud)

并在主要课程中使用

QApplication app(argc, argv);
Run Code Online (Sandbox Code Playgroud)

并不是

QGuiApplication app(argc, argv);
Run Code Online (Sandbox Code Playgroud)

现在有效。