У меня есть ImageButton.qml, который должен менять изображение, когда пользователь удерживает кнопку.
import QtQuick 2.0
Image {
id: svg
property string idleImage
property string hoverImage
signal clicked
state: "idle"
source: state === "idle" ? idleImage : hoverImage
onSourceChanged: {
console.log("source = " + source)
}
MouseArea {
id: mouseArea
anchors.fill: parent
acceptedButtons: Qt.LeftButton
onPressedChanged: {
svg.state = pressed ? "hover" : "idle"
}
onClicked: svg.clicked()
}
}
Но изображение не изменяется сразу.Это меняется только тогда, когда я держу кнопку в течение нескольких секунд.Когда я немедленно нажимаю и отпускаю кнопку мыши, я никогда не вижу изображение при наведении.onSourceChanged выполняется немедленно и выводит на консоль правильный источник изображения.Эта странная ошибка возникает только тогда, когда я использую QQuickWidget
.Когда я не использую виджеты, но в qml все работает как положено.