2010-01-12 3 views
1

Dans les docs Qt EnterEditFocus est un événement sur un widget éditeur qui se concentre sur l'édition mais en utilisant Qt 4.5.3 la compilation échoue avec 'EnterEditFocus' qui n'est pas membre de 'QEvent'. Qu'est-ce qui ne va pas?Qt 4.5.3 QEvent :: EnterEditFocus

+0

Regardez ce bien. Il semble que cette fonctionnalité soit obsolète: bool QApplication :: keypadNavigationEnabled() [statique] Cette fonction est obsolète. Renvoie true si Qt est configuré pour utiliser la navigation par clavier; sinon renvoie false. La valeur par défaut est true sur Symbian, mais false sur les autres plates-formes. Cette fonctionnalité est disponible dans Qt pour Embedded Linux, Symbian et Windows CE uniquement. Remarque: Sous Windows CE, cette fonctionnalité est désactivée par défaut pour les mkspecs de périphérique tactile. Pour activer la navigation au clavier, créez Qt avec QT_KEYPAD_NAVIGATION défini. Voir aussi navigationMode(). –

Répondre

0

Vous avez probablement oublié d'inclure QEvent.

La plupart des classes de Qt sont déclarées en avant, essayez d'ajouter:

#include <QtCore/QEvent> 
+0

Vous ne devriez pas avoir besoin de spécifier QtCore, mais cela ne fera certainement pas de mal. –

+0

Merci pour votre réponse, mais n'a pas fonctionné. Passer à QEvent :: Entrer la compilation réussit même en laissant #include. –

0

Regardez la citation suivante de la documentation qt sur la navigation du clavier. On dirait que cette fonction est dépréciée ou de préférence utilisé sur les plates-formes embarquées:

bool QApplication::keypadNavigationEnabled() [static]
Cette fonction est dépréciée. Renvoie true si Qt est configuré pour utiliser la navigation par pavé numérique; sinon renvoie false. La valeur par défaut est true sur Symbian, mais false sur les autres plates-formes. Cette fonctionnalité est disponible dans Qt pour Linux embarqué, Symbian et Windows CE uniquement. Remarque: Sous Windows CE, cette fonctionnalité est désactivée par défaut pour les mkspecs de périphériques tactiles. Pour activer la navigation au clavier, créez Qt avec QT_KEYPAD_NAVIGATION défini. Voir aussi navigationMode().

cela pourrait faire plus de sens si vous savez que dans le code source du type QEvent :: il est le suivant:


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

Questions connexes