C++ 如何在没有焦点的情况下更新QDataWidgetMapper项

C++ 如何在没有焦点的情况下更新QDataWidgetMapper项,c++,qt,C++,Qt,我有几个QLineEdits,每个QLineEdits通过自己的QDataWidgetMapper连接到一个QStandarItemModel,以便它们都反映相同的值 如果用户在一个QLineEdit中输入一个值,这将非常有效-当QLineEdit失去焦点时,模型将更新,所有其他QLineEdit显示相同的值 但是,我希望通过QLineEdit::setText在一个QLineEdit中设置值,这不会使QLineEdit失去焦点。我可以在QDataWidgetMapper上手动调用submit,

我有几个QLineEdits,每个QLineEdits通过自己的QDataWidgetMapper连接到一个QStandarItemModel,以便它们都反映相同的值

如果用户在一个QLineEdit中输入一个值,这将非常有效-当QLineEdit失去焦点时,模型将更新,所有其他QLineEdit显示相同的值

但是,我希望通过QLineEdit::setText在一个QLineEdit中设置值,这不会使QLineEdit失去焦点。我可以在QDataWidgetMapper上手动调用submit,但这需要设置对该映射器的访问权限,如果我可以帮助它,我宁愿避免,因为它在另一个类中


例如,是否有一种方法可以将QLineEdit中的文本设置为用户已输入,以便QDataWidgetMapper提交?

这比我想象的要简单。当我设置映射器时,我可以将QLineEdit的textChanged信号连接到映射器的submit插槽。

我也遇到了同样的问题,但此解决方案只能以一种方式工作。如果我更新模型,则映射的小部件不会更新。我在Qt论坛上发表了一篇关于它的帖子: