Return schließt immer den Dialog :-(
-
Flachkoepper
- Beiträge: 149
- Registriert: 11. Januar 2005 12:14
- Wohnort: Hannover
Return schließt immer den Dialog :-(
Mahlzeit,
ich habe eine Klasse von QDialog abgeleitet, 2 Knöpfe OK und Cancel mit den entsprechenden slots accept und reject hinzugefügt, und in diesem Dialog nun ne Menge Widgets, u.a. auch ein QLineEdit. Wenn ich jetzt in diesem QLineEdit irgendwas eingebe und die Eingabe mit Return abschließen will, wird immer der accept-slot ausgeführt und der Dialog wird geschlossen. Weiß irgendwer Rat?
Viele Grüße,
Flachkoepper
ich habe eine Klasse von QDialog abgeleitet, 2 Knöpfe OK und Cancel mit den entsprechenden slots accept und reject hinzugefügt, und in diesem Dialog nun ne Menge Widgets, u.a. auch ein QLineEdit. Wenn ich jetzt in diesem QLineEdit irgendwas eingebe und die Eingabe mit Return abschließen will, wird immer der accept-slot ausgeführt und der Dialog wird geschlossen. Weiß irgendwer Rat?
Viele Grüße,
Flachkoepper
-
Flachkoepper
- Beiträge: 149
- Registriert: 11. Januar 2005 12:14
- Wohnort: Hannover
-
Flachkoepper
- Beiträge: 149
- Registriert: 11. Januar 2005 12:14
- Wohnort: Hannover
-
ArneStocker
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
Re: Return schließt immer den Dialog :-(
Ich verstehe nicht was daran denn eigentlich falsch sein soll. Oder ist es so dass der Dialog *NICHT* mit accept geschlossen wird wenn der Focus auf einem anderen Eingabeelement ist? Normal ist doch, dass man mit der Tabulator Taste zum nächsten Element weiterschaltet, auch bei einem QLineEdit.Flachkoepper hat geschrieben: Wenn ich jetzt in diesem QLineEdit irgendwas eingebe und die Eingabe mit Return abschließen will, wird immer der accept-slot ausgeführt und der Dialog wird geschlossen. Weiß irgendwer Rat?
-
Flachkoepper
- Beiträge: 149
- Registriert: 11. Januar 2005 12:14
- Wohnort: Hannover
Je mehr ich drüber nachdenke und je mehr kommerzielle Anwendungen ich mir angucke, muss ich zugeben, dass du recht hast. Ein Return schließt in den meisten Anwendungen den Dialog, auch wenn der Cursor gerade in einem LineEdit steht. Hmmm, ok. Dann behalte ich das eben auch so bei.Ich verstehe nicht was daran denn eigentlich falsch sein soll. Oder ist es so dass der Dialog *NICHT* mit accept geschlossen wird wenn der Focus auf einem anderen Eingabeelement ist? Normal ist doch, dass man mit der Tabulator Taste zum nächsten Element weiterschaltet, auch bei einem QLineEdit.
@Arne: Ich muss leider zugeben, dass ich kein Wort von dem verstehe, was du damit meinst. Kannst du das bitte näher erläutern (nur für den Fall, das ich das später mal gebrauchen könnte.)
Viele Grüße,
Flachkoepper
-
ArneStocker
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
tschuldige die verspätetete antwort:
ich meinte, dass Du das QKeyEvent (in diesem Fall den Tastendruck return) aus der Eventschleife des OK Buttons (oder ggf. des Dialogs, bitte prüfen) herausfiltern kannst. Dazu kannst Du entweder die event Methode ableiten oder einen eventFilter auf das Objekt legen. In beiden Fällen ist es möglich die weitere Bearbeitung zu stoppen und (sofern gewünscht) eigene Aktionen auszuführen (und ggf. andere events zu posten).
Ich persönlich schreibe, der besseren Wiederverwendbarkeit wegen, lieber ControlKlassen, die einen eventFilter auf eines (oder mehrere) Objekte legen
Gruss Arne
ich meinte, dass Du das QKeyEvent (in diesem Fall den Tastendruck return) aus der Eventschleife des OK Buttons (oder ggf. des Dialogs, bitte prüfen) herausfiltern kannst. Dazu kannst Du entweder die event Methode ableiten oder einen eventFilter auf das Objekt legen. In beiden Fällen ist es möglich die weitere Bearbeitung zu stoppen und (sofern gewünscht) eigene Aktionen auszuführen (und ggf. andere events zu posten).
Ich persönlich schreibe, der besseren Wiederverwendbarkeit wegen, lieber ControlKlassen, die einen eventFilter auf eines (oder mehrere) Objekte legen
Gruss Arne