Wie kann ich verhindern, dass die enter-Taste, das schließen von meinen QDialog (Qt 4.8.1)

Ich habe eine QDialog mit einem QDialogButtonBox. Die OK und Abbrechen Tasten aktiv sind. Gelegentlich habe ich das deaktivieren oder verstecken Sie die OK-Taste, basierend auf den Zustand von meinem dialog. Es scheint, egal was ich mache, die Enter-Taste immer auch ein aktivieren der OK-Taste. Ich wirklich NICHT wollen, dass dies passiert. Ich habe versucht:

  • Festlegen von Standard-und autoDefault Eigenschaften auf false jedes mal, wenn ich ein - /ausblenden/aktivieren/deaktivieren/was auch immer die Taste
  • Installation eines Ereignis-filter auf die OK-Taste abfangen, wichtige Ereignisse (gedrückt und losgelassen) für den return, enter und space
  • Einstellung der Fokus der Politik auf die Schaltfläche, um NoFocus

Und mit allen Kombinationen die Dinge vor, die Enter-Taste, noch akzeptiert Sie den dialog. Hat jemand eine Ahnung wie man zu blockieren? Es scheint, wie ich sollte in der Lage sein zu blockieren, etwas so einfaches wie das?

Kannst du die post-Ereignis-filter code?
Ist es deine eigene dialog-oder Sie sprechen über die standard-Dialoge von Qt bietet?
Meine dialog-Klasse
Nicht verwenden Ok-und Abbrechen-button, fügen Sie Ihre eigenen button zu QDialogButtonBox.
aber dann habe ich nicht den Vorteil, die Tasten richtig positioniert auf unterschiedlichen OS ' s

InformationsquelleAutor cppguy | 2013-04-06

Schreibe einen Kommentar