2016-05-24 14 views
1

で起動時に、次のQMLステート・マシンがクラッシュするクラッシュ:QMLステートマシン私はそれを実行したときに、信号

import QtQuick 2.0 
import QtQml.StateMachine 1.0 

Item { 
    id: thingy 
    signal somethingHappened 

    StateMachine { 
    initialState: stateA 
    running: true 

    State { 
     id:stateA 
     onEntered:console.log('entered A') 

     SignalTransition { 
     targetState: stateB 
     signal: thingy.onSomethingHappened 
     } 
    } 

    State { 
     id: stateB 
     onEntered: console.log('entered B') 
    } 
    } 
} 

出力は単に「プログラムが予期せず終了しました。」されます

私が変更した場合は

signal: thingy.onSomethingHappened signal: thingy.nopeに-or私は期待どおりに動作します-thenライン signal somethingHappenedを削除する場合(私は実際に状態変化をトリガするための信号を得ることができないことを除いて)。

何か間違っていますか?なぜこれがクラッシュしているのか?

Ubuntu x64でQt 5.6を使用することは重要です。

答えて

3

PEBCAK。私はon接頭辞なしで信号の名前を書かれている必要があります。

signal: thingy.somethingHappened 

それは は、遷移信号が誤ってこのような設定であるとき、それはセグメンテーション違反Qtのランタイムのバグだったです。このバグは、http://bugreports.qt.io/browse/QTBUG-53596

として提出されています。
関連する問題