Seite 1 von 1

Auto-"toggeln" durch Drücken der Pfeiltasten verhi

Verfasst: 17. September 2008 15:44
von comer352l
Hallo,

ich bin mal wieder auf ein unerwartetes Problem gestoßen, bei dem ich nicht weiß, wo ich ansetzen soll:
In meinem Programm verwende ich eine QGroupBox mit einer ganzen Reihe von QPushButtons darin, die sich alle "checkable" sind und im "autoExclusive"-Modus betrieben werden.
Jetzt habe ich festgestellt, dass im Gegensatz zu einer Gruppe "normaler" Buttons beim Drücken der Pfeiltasten direkt zwischen den Buttons umgeschaltet ("getoggled") wird.
Wie kann ich das verhindern bzw. wie bekomme ich das Verhalten einer normalen Button-Gruppe, also das durch Drücken der Pfeiltasten analog zur Tab-Taste lediglich der Focus durchgeschaltet wird ?
Bin für jeden Ansatz dankbar, bei den ganzen Keybord-Geschichten fehlt mir der Durchblick...

Manuelles deselektieren der anderen Buttons

Verfasst: 19. September 2008 18:15
von gentlesea
Hallo,

du könntest autoExclusive bei allen Buttons ausschalten und manuell dafür sorgen, dass nur ein Button zur gleichen Zeit gedrückt werden kann. Somit kann der Benutzer mittels den Pfeiltasten den Focus verschieben und sobald er mittels Leertaste einen anderen Button wählt, muss der damit verbundene Slot dafür sorgen, dass alle anderen deselektiert werden.


MfG

Verfasst: 21. September 2008 15:00
von comer352l
Hi,

danke für deine Antwort, aber genau das möchte ich eigentlich vermeiden, da die Anzahl der Buttons doch recht groß und außerdem variabel ist. Der auto-Exclusive-Modus leistet da schongute Dienste.

Mein Problem ist, dass ich nicht weiß, wo ich ansetzen soll. Muß ich an die GroupBox oder die einzelnen Buttons ran ? Woher kommen eigentlich diese "Standard-Tastaturbelegungen" ? Shortcuts sind es wohl nicht, wenn ich die Ausschalte ändert sich jedenfalls nichts... !?

Radiobuttons verwenden?

Verfasst: 21. September 2008 19:14
von gentlesea
Auch wenn das jetzt vielleicht wenig konstruktiv ist: Eigentlich verwendet man für solche Zwecke Radiobuttons. Da ist das ganz klar geregelt. Mir ist bisher keine Anwendung untergekommen, bei der man die QPushButtons im autoExclusive-Modus betreibt und ich bin auch ein Freund bewährter Konzepte. Alleine, damit der Benutzer sich direkt zurecht findet. Wäre das keine gute Idee?

Verfasst: 22. September 2008 14:35
von comer352l
Ohne jetzt im Detail auf meine Anwendung einzugehen: Ich brauche Buttons mit einer großen Fläche (u.A. für Pixmaps).
Abgesehen davon würde mich das kein Stück weiter bringen, weil eine Gruppe von RadioButtons sich bzgl.der Tastur (oh Wunder) identisch verhält (QPushButton und QRadioButton sind durchaus verwandt :wink:).

Den einzigen Ansatz den ich im Augenblick hätte, wäre einen EventFilter zu bauen, welcher sämtliche QKeyEvents mit Pfeil-Tasten abfängt und (wie auch immer) umbastelt. Den Filter müsste ich dann halt auf sämtlich Buttons anwenden... Nicht gerade schön... :?