QML - Встроенный QLineEdit - editFinished только вызывается нажатием Enterkey - PullRequest
0 голосов
/ 29 ноября 2011

У меня есть стандартный QLineEdit, который встроен в QGraphicsProxyWidget, в отдельный класс-обертку, чтобы сделать его доступным в QML.В моем классе-обёртке я делаю переподключение сигнала "editFinished", и сигнал отправляется в QML-среду.В моей QML-среде есть слот, который обрабатывает этот сигнал и печатает, во-первых, некоторый текст.

Когда я редактирую текст моего LineEdit и нажимаю ввод, сигнал испускается, и слот получаетэтот сигнал и распечатайте это сообщение.Это указывает на то, что сигнал и слот подключены правильно.Но когда я редактирую текст и щелкаю по другому элементу в моем QML.Environment, сигнал не генерируется.

Что я могу сделать, чтобы этот сигнал испускался.Есть ли ошибка в обработке фокуса в QML?Спасибо за вашу помощь

1 Ответ

0 голосов
/ 28 марта 2012

хорошо, похоже, что это проблема из QML, так как в документе написано

Когда редактирование завершено, либо из-за того, что редактирование строки потеряло фокус, либо из-за возврата / ввода нажата на editFinished () сигнал испускается.

но у меня не так много опыта.но он также говорит

Обратите внимание, что если в редакторе строки установлен валидатор, сигналы returnPressed () / editFinished () будут отправляться только в том случае, если валидатор возвращает QValidator :: Acceptable.

...