2016-05-14 131 views
0

我花了很多時間解決這個問題,但沒有成功。 我只需要點擊textInput元素上的信號。像onClicked。 只是讓知道,這個TextInput被選中,或點擊。QML TextInput信號

我有更多的TextInput元素,我只需要當前的發射信號。我試圖使用焦點,但也發射了以前的元素。

非常感謝。

+1

您是否真的需要知道何時單擊TextInput,或者您是否只需知道它何時關注? 你可以像這樣聽'activeFocus'屬性:'onActiveFocusChanged:if(activeFocus){/ * do stuff here//}' – GrecKo

回答

0

TextArea單擊時不發射信號。如果您只對點擊感興趣,則應該在頂部添加一個MouseArea。您可以將mouse.accepted設置爲false以讓事件冒泡,以便TextInput獲取點擊事件並對其進行處理。請注意,在TextInput中發生處理之前,您將在MouseArea中獲得事件

TextInput { 
    // ... 

    MouseArea { 
    anchors.fill: parent 
    propagateComposedEvents: true 

    onClicked: { 
     console.log("clicked on TextInput"); 
     mouse.accepted = false; 
    } 
    } 
}