我想这样做: 显示一些表单,处理Rectangle :: onClicked事件(禁用表单,将不透明度设置为0.2,处理一些javascript以提交表单,然后将不透明度设置回1.0,启用表单)。 但我不知道该怎么做。
似乎onClicked()在“批处理”模式下处理,更改任何ui属性在函数退出之前不可见。我玩状态,过渡和动画,但仍然没有成功。
感谢您的任何建议, 米甲
答案 0 :(得分:2)
您可以简单地启动两个自定义动画,一个用于隐藏表单,另一个用于显示它。像这样:
SequentialAnimation {
id: submitAndHideForm
ParallelAnimation {
// Animations to hide the form elements
}
ScriptAction {
script: submitForm()
}
}
ParallelAnimation {
id: showForm
// Animations to show the form elements
}
然后,当您想要提交表单时,您可以使用submitAndHideForm.start()
启动第一个,当您收到回复时,您可以启动第二个。
答案 1 :(得分:1)
应该可以用状态来解决。您可以尝试在WorkerScript中执行Javascript处理。处理完成后,它将发回一个QML WorkerScript元素的回复,该元素将表单的状态设置为再次启用。因此,在onClicked中,您可以通过设置状态来禁用动画,而在WorkerScript元素的onMessage函数中,您可以通过将状态设置为“enabled”来启用动画。
答案 2 :(得分:0)
也许你在谈论异步使用XMLHttpRequest
。发送请求时“停用”表单,并在onreadystatechange
调用readyState === XMLHttpRequest.DONE
时“启用”表单。