我知道我可以像这样连接 onClicked 事件:
myMouseAreaID.clicked.connect(someJavaScriptFunction)
但是对于 onPressed 和 onReleased 事件,我找不到类似的东西......
任何人都可以帮助我吗?
我知道我可以像这样连接 onClicked 事件:
myMouseAreaID.clicked.connect(someJavaScriptFunction)
但是对于 onPressed 和 onReleased 事件,我找不到类似的东西......
任何人都可以帮助我吗?
myMouseArea.released.connect(fun)
按预期工作,但pressed
信号被同名的布尔属性遮蔽,指示当前是否按下按钮。因此,目前无法动态连接此信号。
这实际上是一个已知错误,请参阅QTBUG-24477。您现在所能做的就是重新设计您的应用程序,使其不依赖于该特定功能。
与此同时,我找到了解决方法:
MouseArea
{
id: ma
signal onPressedState
onPressed: onPressedState()
}
所以稍后在 JavaScript 中可以像这样使用它:
function someFunction()
{
ma.onPressedState.connect(someOtherFunction)
}
这有效:)
另一种选择是使用更具声明性的Connections
类型来处理新闻:
Connections {
target: myMouseAreaID
onPressed: myPressedFunc()
}