Comment puis-je empêcher la clé d'entrée de fermer mon QDialog (Qt 4.8.1)

J'ai un QDialog avec un QDialogButtonBox. Le OK et Annuler boutons sont actifs. De temps en temps je les désactiver ou masquer le bouton OK en fonction de l'état de mon dialogue. Il semble que, peu importe ce que je fais, la touche Entrée active toujours le bouton OK. Je NE veux vraiment PAS que cela se produise. J'ai essayé:

  • Paramètre par défaut et autoDefault propriétés à faux à chaque fois que je afficher/masquer/activer/désactiver le/quel que soit le bouton
  • l'installation d'un filtre d'événements sur le bouton OK pour intercepter les événements clés (appuyé et relâché) pour le retour, l'entrée et l'espace
  • Réglage de la netteté de la politique sur le bouton pour NoFocus

Et avec toutes les combinaisons de ces choses ci-dessus, la touche Entrée accepte encore la boîte de dialogue. Quelqu'un a une idée de comment le bloquer? Il semble que je devrais être en mesure de bloquer quelque chose d'aussi simple que cela?

source d'informationauteur cppguy