3

当我删除包含 ChartView 的 QML 对象时,一切正常。当我为图表的“系列”分配 ID 时,破坏崩溃了。

工作正常:

import QtQuick 2.7
import QtQuick.Controls 2.2
import QtCharts 2.2

ApplicationWindow {
    visible: true
    width: 640
    height: 480

    ChartView {
        width: 450
        height: 450

        PieSeries {
            PieSlice { label: "eaten"; value: 94.9 }
            PieSlice { label: "not yet eaten"; value: 5.1 }
        }
    }
}

崩溃(参见 PieSeries 中的“id: testId”):

import QtQuick 2.7
import QtQuick.Controls 2.2
import QtCharts 2.2

ApplicationWindow {
    visible: true
    width: 640
    height: 480

    ChartView {

        width: 450
        height: 450

        PieSeries {
            id: testId
            PieSlice { label: "eaten"; value: 94.9 }
            PieSlice { label: "not yet eaten"; value: 5.1 }
        }
    }
}

只需启动/退出程序,由于破坏时崩溃,它不会正确退出。任何 ChartView / Series 组合都会发生这种情况。

开始 build-ChartTest-Desktop_Qt_5_9_2_MSVC2015_64bit-Debug\debug\ChartTest.exe... QML 调试已启用。仅在安全的环境中使用。程序意外结束。该过程被强行结束。

堆栈跟踪:

7 QtCharts::DeclarativePieSeries::~DeclarativePieSeries | qtchartsqml2d

8 QQmlPrivate::QQmlElement::~QQmlElement | qqmlprivate.h

9 QQmlPrivate::QQmlElement::`标量删除析构函数' | qtchartsqml2d

10 QV4::QObjectWrapper::destroyObject qv4qobjectwrapper.cpp

11 QV4::MemoryManager::扫描 | qv4mm.cpp

12 QV4::MemoryManager::~MemoryManager | qv4mm.cpp

13 QV4::MemoryManager::`标量删除析构函数' | Qt5Qmld

14 QV4::执行引擎::~执行引擎 | qv4engine.cpp

15 QV4::ExecutionEngine::`标量删除析构函数' | Qt5Qmld

4

0 回答 0