2012-07-18 77 views

回答

2

myMouseArea.released.connect(fun)按預期工作,但pressed信號被Boolean property with the same name遮蔽,指示當前是否按下按鈕。因此目前不可能動態連接這個信號。

這實際上是一個已知的錯誤,請參閱QTBUG-24477。你現在可以做的就是重新設計你的應用程序,它不依賴於這個特定的功能。在此期間

+0

謝謝:)這就是我一直在尋找的。 – DRAX 2012-07-18 16:09:01

0

我已經找到解決方法:

MouseArea 
{ 
    id: ma 
    signal onPressedState 
    onPressed: onPressedState() 
} 

所以後來在JavaScript中,可以使用這樣的:

function someFunction() 
{ 
    ma.onPressedState.connect(someOtherFunction) 
} 

這工作:)

0

另一種選擇是使用更多說明性Connections類型來處理印刷:

Connections { 
    target: myMouseAreaID 
    onPressed: myPressedFunc() 
} 
+0

這是好方法,但我需要用JavaScript來完成。我在下面的答案中使用瞭解決方法解決了這個問題。 – DRAX 2012-07-20 13:02:32