Seite 1 von 1

closeEvent deaktivieren

Verfasst: 26. Januar 2011 10:40
von slim10
Hi an alle :) ,

also ich hab folgendes Problem:
Ich hab eine Klasse die von QDialog abgeleitet ist und ich möchte wenn der Dialog des erste mal aufgerufen wird, das entweder der Escape-Key ausgegraut ist oder garnicht vorhandn ist oder das des closeEvent irgendwie deaktiviert ist...schöner würde ich's nämlich finden wenn der Escape-Key angeklickt werden kann aber das halt einfach nix passiert

deshalb die Frage kann man das closeEvent irgendwie abschalten und wenn ja wie?

Danke schon mal im Vorraus ;)

Verfasst: 26. Januar 2011 10:59
von solarix
Das steht doch gleich hier:
http://doc.qt.nokia.com/latest/qwidget.html#closeEvent
oder nicht?

hth..

Verfasst: 26. Januar 2011 11:09
von slim10
danke für die schnell antwort :)

genau des wollt ich auch ausprobieren...bloß im ich dachte des geht net weil auf der qt seite stand das des closeEvent nicht ignorierd werden kann
Escape Key

If the user presses the Esc key in a dialog, QDialog::reject() will be called. This will cause the window to close: The close event cannot be ignored.

und ich habs ausprobiert es funzt :)
dankeschön für die hilfe :)

Verfasst: 26. Januar 2011 13:24
von solarix
slim10 hat geschrieben:
Escape Key
...The close event cannot be ignored.
Gut beobachtet.. weiter oben steht doch klar und deutlich
The closeEvent() function should only be reimplemented [...] to override the standard close or reject behavior.
Keine Ahnung, warum das beim Escape Key anderst sein sollte. Im Grunde müsste es doch auch noch diverse andere Hacks geben (ESC als KeyEvent ausfiltern oder der virtual slot "reject()" ändern); warum also "The close event cannot be ignored"?

Egal: Hauptsache du hast es hinbekommen.