Bir C++ sınıfına sahibim ve bunu QML'de oluşturabilmem mümkün oldum. Sonra bu nesneyi temsil eden bir argümanı olan QML'de bir sinyal var. QtQml.StateMachine
kullanıyorum ve SignalTransition
ile tetiklenen sinyalleri yakalarım. SignalTransition
tetiklendiğinde sinyallerimi argümanını bir sonraki duruma ayarlayabilmek istiyorum. kodunda:SignalTransition sırasında QML StateMachine içinde bir Sinyal argümanı nasıl kullanılır
Bu benim sinyal Model.qml gibi görünüyor: State.qml içinde
signal mySignal(CustomObject customObject)
Benim sinyal geçiş halindeki kodu: aşağıdaki hatayı alıyorum
import QtQml.StateMachine 1.0 as SM
// SM.State { ...
Model {
id: model
// ...
}
SM.SignalTransition {
targetState: nextState
signal: model.mySignal
onTriggered: console.log(customObject) // error here
}
// ... }
: ReferenceError: customObject is not defined
. Sinyali gönderirken, customObject parametresini sinyal için bir argüman olarak geçiriyorum.
Cevabınız için teşekkür ederiz. Evet, şu anda bunu yapıyorum ve mükemmel çalışıyor, ama söylediğin gibi biraz hacky ve daha güzel bir çözüm olup olmadığını merak ediyordum. Bu örnekle: http://doc.qt.io/qt-5/qml-qtqml-statemachine-signaltransition.html#guard-prop, soruyu yazarken nasıl çalıştığını biraz almalıyım, ama yine de hata. – Silex
Doğru, o zaman bilmiyorum. Sorunun işe yaradığı kod için, tetiklenen sinyalin bir şekilde argümanları, hangi şekilde değil, arayan sinyalden taşıyacağını düşünüyorum? –