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