2016-05-14 179 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; 
    } 
    } 
}