2010-01-12 85 views
1

在Qt文档EnterEditFocus是关于一个编辑器部件获得焦点编辑事件,但使用Qt 4.5.3编译失败与“EnterEditFocus”不是“的QEvent”中的一员。怎么了?的Qt 4.5.3的QEvent :: EnterEditFocus

+0

看虽然。这听起来像这样的功能已经过时:BOOL的QApplication :: keypadNavigationEnabled()[静态] 此功能已被弃用。 如果Qt设置为使用键盘导航,则返回true;否则返回false。 Symbian的默认值为true,但在其他平台上为false。 此功能可在Qt嵌入式的Linux,Symbian和Windows CE只。 注意:在Windows CE此功能默认为触摸设备mkspecs禁用。要启用键盘导航,请使用QT_KEYPAD_NAVIGATION定义构建Qt。 另请参见navigationMode()。 – 2011-05-26 23:01:29

回答

0

你可能忘了,包括QEvent

大多数Qt类都向前声明,试着加入:

#include <QtCore/QEvent> 
+0

你不需要指定QtCore,但它肯定不会受到伤害。 – 2010-01-12 17:02:21

+0

感谢您的回答,但没有奏效。更改为QEvent ::输入编译成功即使将#include删除。 – 2010-01-12 17:13:49

0

看从Qt文档上的键盘导航以下报价。听起来像这个特性已被弃用,或者最好在嵌入式平台上使用:

bool QApplication::keypadNavigationEnabled() [static]
此功能已弃用。如果Qt设置为使用键盘导航,则返回true;否则返回false。 Symbian的默认值为true,但在其他平台上为false。此功能仅适用于Qt for Embedded Linux,Symbian和Windows CE。注意:在Windows CE上,此功能在默认情况下对于触摸设备mkspecs处于禁用状态。要启用键盘导航,请使用QT_KEYPAD_NAVIGATION定义构建Qt。另请参阅navigationMode()。

这可能会更有意义,如果你都知道,在对的QEvent ::类型的源代码有以下几点:在这个


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