私はC++とQMLを使用するアプリケーションを持っています。私のC++では C++の値が変更されたときにアニメーションqmlをトリガする方法は?
:私は 値を読んで、私はスライダーでそれを示すためにQMLに送信します。 私の 値私のハードウェアを押すと変更されます。私の問題はQMLの一部である:QMLで
:
は、私が数秒この値変更のためのアニメーションをトリガーする必要があります。私はこのアニメーションを表示する必要があるのは、C++の部分の値が変更されたときです。
誰かが助けてもらえますか?
QMLタイマーを試しましたが、値が変更されたときにアニメーションが表示されませんでしたか?
アニメーションのQMLの部分でいくつかのコード:
VolumeRemote.QML
Rectangle {
id: item1
width: 550
height: 110
color: "#0a0a07"
border.color: "#ffffff"
opacity: 1
SliderComponent{
id:slider
x: 34
y: 79
width: 466
height: 5
minimumValue: 0
//here i give the value from C++ to my slider
//Controller is a global Qobject where i define some stuff
value: Controller.volume_radio
onValueChanged: {
animation.running=true;
}
PropertyAnimation {
id:myanimation
running: true
target:item1
property: 'visible'
to: false
duration: 10000
}
}
Text {
id: text1
x: 93
y: 16
width: 170
height: 41
color: "#ffffff"
text: qsTr("Radio Volume :")
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
font.pixelSize: 24
font.family: regular.name
}
Text {
id: valeurslider
x: 277
y: 16
// x: 618
//y: 45
width: 24
height: 41
color: "#ffffff"
text: slider.value
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
opacity: 0.45
font.pixelSize: 30
font.family: regular.name
}
Image {
id: image1
x: 34
y: 16
width: 44
height: 41
source: "assets/ic_sound_popup_on.png"
}
}
どのように変数をQMLに渡しましたか?通常、C++からQMLに渡されるプロパティは通知できません。 – folibis
CMLでトリガするカスタム信号を定義し、それをQML-Sideで処理してアニメーションを開始することができます。 – derM
私はこれをC++の部分で使用して値を通知します:Q_PROPERTY(int RadioVolume READvalvalTITY val_signal) –