Qml 输入信号

Qml 输入信号,qml,textinput,Qml,Textinput,我花了很多时间来解决这个问题,但没有成功。 我只需要在单击textInput元素时发出一个信号。就像被舔过一样。 只是想让大家知道,此文本输入已被选中或单击 我有更多的TextInput元素,我只需要当前的元素来发出信号。我试图使用焦点,但前面的元素也发出了光 非常感谢。text单击区域时不会发出信号。如果你只对点击感兴趣,你应该在上面加一个鼠标earea。您可以将mouse.accepted设置为false,让事件冒泡,以便TextInput获取单击事件并对其进行处理。注意,在TextInpu

我花了很多时间来解决这个问题,但没有成功。 我只需要在单击textInput元素时发出一个信号。就像被舔过一样。 只是想让大家知道,此文本输入已被选中或单击

我有更多的TextInput元素,我只需要当前的元素来发出信号。我试图使用焦点,但前面的元素也发出了光


非常感谢。

text单击区域时不会发出信号。如果你只对点击感兴趣,你应该在上面加一个鼠标earea。您可以将
mouse.accepted
设置为
false
,让事件冒泡,以便TextInput获取单击事件并对其进行处理。注意,在TextInput中进行处理之前,您将在MouseArea中获得事件

TextInput {
  // ...

  MouseArea {
    anchors.fill: parent
    propagateComposedEvents: true

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

单击TextArea时不会发出信号。如果你只对点击感兴趣,你应该在上面加一个鼠标earea。您可以将
mouse.accepted
设置为
false
,让事件冒泡,以便TextInput获取单击事件并对其进行处理。注意,在TextInput中进行处理之前,您将在MouseArea中获得事件

TextInput {
  // ...

  MouseArea {
    anchors.fill: parent
    propagateComposedEvents: true

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

你真的需要知道文本输入何时被点击,还是只需要知道它何时被聚焦?您可以像这样收听
activeFocus
属性:
onActiveFocusChanged:if(activeFocus){/*do stuff here*/}
您真的需要知道文本输入何时被单击,还是只需要知道它何时被聚焦?您可以像这样收听
activefocuschanged:if(activeFocus){/*do stuff here*/}