Qt 4.5.3 QEvent :: EnterEditFocus - PullRequest
       14

Qt 4.5.3 QEvent :: EnterEditFocus

1 голос
/ 12 января 2010

В Qt docs EnterEditFocus - это событие, когда виджет редактора получает фокус для редактирования, но при использовании Qt 4.5.3 компиляция завершается неудачно с помощью EnterEditFocus, который не является членом QEvent. Что не так?

Ответы [ 3 ]

3 голосов
/ 12 января 2010

Если предложение Идана не работает, обратите внимание, что QEvent :: EnterEditFocus не определен, если вы не построили Qt с определенным QT_KEYPAD_NAVIGATION. Обратитесь к следующей документации:

http://doc.qt.io/archives/4.6/qapplication.html#keypadNavigationEnabled

0 голосов
/ 27 мая 2011

Посмотрите на следующую цитату из документации qt по навигации с помощью клавиатуры. Похоже, эта функция устарела или предпочтительно используется на встроенных платформах:

bool QApplication::keypadNavigationEnabled () [static]
Эта функция устарела. Возвращает true, если Qt установлен для использования навигации с клавиатуры; в противном случае возвращает false. Значение по умолчанию true на Symbian, но false на других платформах. Эта функция доступна только в Qt для встраиваемых Linux, Symbian и Windows CE. Примечание. В Windows CE эта функция по умолчанию отключена для mkspecs для сенсорных устройств. Чтобы включить навигацию с помощью клавиатуры, соберите Qt с определенным QT_KEYPAD_NAVIGATION. См. Также navigationMode ().

это может иметь больше смысла, если вы знаете, что в исходном коде для QEvent :: Type есть следующее:

<br> #ifdef QT_KEYPAD_NAVIGATION<br> EnterEditFocus = 150, // enter edit mode in keypad navigation<br> LeaveEditFocus = 151, // enter edit mode in keypad navigation<br> #endif

0 голосов
/ 12 января 2010

Вы, вероятно, забыли включить QEvent.

Большинство классов Qt объявлены заранее, попробуйте добавить:

#include <QtCore/QEvent>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...