我有一个标准的QLineEdit,它嵌入在sperate包装类中的QGraphicsProxyWidget中,以便在QML中访问它。在我的包装类中,我重新连接信号“editingFinished”,信号进入QML环境。在我的QML环境中,有一个插槽处理这个信号并打印出第一个文本输出。
当我编辑LineEdit的文本并按Enter键时,信号将被发出,并且插槽会获得此信号并打印出此消息。这表示信号和插槽已正确连接。但是当我编辑文本并点击我的QML.Environment中的另一个元素时,不会发出任何信号。
我可以做些什么来发出这个信号。 QML中的焦点处理是否有错误? 谢谢你的帮助
答案 0 :(得分:0)
编辑完成后,因为线条编辑失去焦点或 按下Return / Enter,发出editingFinished()信号。
但我没有太多经验。 但它也说
请注意,如果在行编辑中设置了验证器,则只有在验证器返回QValidator :: Acceptable时才会发出returnPressed()/ editingFinished()信号。