QKeyEvent + QMdiArea
-
Johnny Freak
- Beiträge: 29
- Registriert: 4. April 2007 15:45
QKeyEvent + QMdiArea
Grüße!
Ich habe eine Mdi-Applikation mit einer QMdiArea und mehreren QMdiSubWindows geschrieben. Folgendes Problem: wenn der Focus nicht auf meinem Hauptfenster liegt, bekomme ich keinen QKeyEvent, der für das ganze Programm gültig sein soll. Lege ich den Focus auf das Hauptfenster geht alles wunderbar.
Was tun?
Ich habe eine Mdi-Applikation mit einer QMdiArea und mehreren QMdiSubWindows geschrieben. Folgendes Problem: wenn der Focus nicht auf meinem Hauptfenster liegt, bekomme ich keinen QKeyEvent, der für das ganze Programm gültig sein soll. Lege ich den Focus auf das Hauptfenster geht alles wunderbar.
Was tun?
-
Johnny Freak
- Beiträge: 29
- Registriert: 4. April 2007 15:45
-
Johnny Freak
- Beiträge: 29
- Registriert: 4. April 2007 15:45
-
Johnny Freak
- Beiträge: 29
- Registriert: 4. April 2007 15:45
-
PeterLustig
- Beiträge: 386
- Registriert: 21. November 2007 20:07
-
Johnny Freak
- Beiträge: 29
- Registriert: 4. April 2007 15:45
Wie anfangs erwähnt, habe ich eine QMdiAera mit QMdiSubWindows. Was ich nicht verstehe ist folgendes. Ok, ich habe eine Hauptanwendung. Wenn ich jetzt, sagen wir, ein QFileDialog öffne, um eine Datei zu laden, so verliert meine Hauptanwendung den Focus. Das Problem ist, dass wenn meine Hauptanwendung den Focus verliert, ich dann die QKeyEvents nicht mehr bekomme. Wird schon irgendwie logisch sein. Aber was soll ich tun? ein Lösung muss es doch geben. Klingt eigentlich nichts so extrem, dass ich anfangen müsste, irgendwelches Zeug zu reimplementieren. Ich möchte eine einfache und saubere Lösung, das ist alles. Auf "schau in die Doku"-Antworten kann ich verzichten.
-
PeterLustig
- Beiträge: 386
- Registriert: 21. November 2007 20:07
-
Johnny Freak
- Beiträge: 29
- Registriert: 4. April 2007 15:45
Ich muss schon sagen, dass das in der Praxis ein extremes Problem ist. Nimm eine Anwendung her, die für jeden so einfach wie möglich zu bedienen sein soll, auch für jemanden, der absolut keine Ahnung hat. Wenn jetzt dieser jemand gewohnt ist mit den Tasten F1 bis F4 mit seinem alten C-Programm zu interagieren und eine Datei öffnet, dann funktioniert das nicht mehr->Panik, Angst, Frust. Wie's ausschaut, muss ich irgendwie eine Art Automatismus einbauen, der den Fokus zur richtigen Zeit wieder an das Hauptprogramm zurückgibt. Enttäuschend.
Wenn jemand keine Ahnung hat, wird der nicht gewohnt sein irgendwas zu drückenJohnny Freak hat geschrieben:Nimm eine Anwendung her, die für jeden so einfach wie möglich zu bedienen sein soll, auch für jemanden, der absolut keine Ahnung hat.
Aber ich käme nicht auf die Idee einem Systemdialog eine Funktion beizubringen, die er bei anderen Programmen nicht hat.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
-
Johnny Freak
- Beiträge: 29
- Registriert: 4. April 2007 15:45
-
Johnny Freak
- Beiträge: 29
- Registriert: 4. April 2007 15:45
Ich meine. Ich schreibe ein neues, 20mal bedienerfreundlicheres Programm mit SubWindows u.Ä. und cool und eine Freude für alle Qt-Freaks. Aber...der, der früher mit seinem C-Programm gut zu recht gekommen ist und jetzt für alles offen ist, ausser, dass er nicht auf seine F-Tasten verzichten will, ist ein Individuum, dessen Wünsche ich auch erfüllen muss. Wenn dieses Individuum ein Testfile ladet und dann seine F-Tasten nicht mehr reagieren, dann wird er irgendwann schon checken, dass er wieder mit der Maus aufs Hauptprogramm klicken muss. Aber, ja, Scheiße eben. Das ist die Praxis.
-
PeterLustig
- Beiträge: 386
- Registriert: 21. November 2007 20:07