QML - 嵌入式QLineEdit - 仅通过命中Enterkey引发的仅修改

时间:2011-11-29 07:14:03

标签: qml signals-slots qlineedit

我有一个标准的QLineEdit,它嵌入在sperate包装类中的QGraphicsProxyWidget中,以便在QML中访问它。在我的包装类中,我重新连接信号“editingFinished”,信号进入QML环境。在我的QML环境中,有一个插槽处理这个信号并打印出第一个文本输出。

当我编辑LineEdit的文本并按Enter键时,信号将被发出,并且插槽会获得此信号并打印出此消息。这表示信号和插槽已正确连接。但是当我编辑文本并点击我的QML.Environment中的另一个元素时,不会发出任何信号。

我可以做些什么来发出这个信号。 QML中的焦点处理是否有错误? 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

好吧,看起来这是QML的一个问题,就像它所说的文档一样

  

编辑完成后,因为线条编辑失去焦点或   按下Return / Enter,发出editingFinished()信号。

但我没有太多经验。 但它也说

  

请注意,如果在行编辑中设置了验证器,则只有在验证器返回QValidator :: Acceptable时才会发出returnPressed()/ editingFinished()信号。