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 }
        }
    }
}

クラッシュ (「id: PieSeries の 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::メモリマネージャー::スイープ | qv4mm.cpp

12 QV4::メモリマネージャー::~メモリマネージャー | qv4mm.cpp

13 QV4::MemoryManager::`スカラー削除デストラクタ' | Qt5Qmld

14 QV4::実行エンジン::~実行エンジン | qv4engine.cpp

15 QV4::ExecutionEngine::`スカラー削除デストラクタ' | Qt5Qmld

4

0 に答える 0