Hotkeys funktionieren trotz menuBar()->setEnabled(false)

Alles rund um die Programmierung mit Qt
Antworten
atlastraeger
Beiträge: 32
Registriert: 11. August 2004 12:42

Hotkeys funktionieren trotz menuBar()->setEnabled(false)

Beitrag von atlastraeger »

Hallo Forum,
ich würde gerne, dass ein Benutzer meiner Anwendung in bestimmten Situationen nicht auf das Menü zugreifen kann. Dazu kann ich eigentlich

Code: Alles auswählen

menuBar()->setEnabled(false);
benutzen, aber dann funktionieren die Hotkeys immer noch, d.h. der Anwender kann z.B. immer noch über Strg+B den dazugehörigen Menübefehl "Beenden" auslösen... Kann man das irgendwie ändern?
Danke!
scooter
Beiträge: 11
Registriert: 7. März 2005 15:29

Beitrag von scooter »

Wenn ich mich recht erinnere, musst du die gewünschten Menüeinträge einzeln "disablen". Das Deaktivieren der Menüleiste betrifft eben nur diese; die Einträge sind unsichtbar immer noch zur Verfügung, daher das Problem.

Am besten ist dies zu lösen, wenn du zwei kleine Funktionen zum Aktivieren und Deaktivieren schreibst und dort die Einträge mit den Hotkeys einzeln anschaltest bzw. ausschaltest. Das sieht zwar im Code viel aus, geht aber in der Ausführung unbemerkt. So ungefähr stets glaub' ich auch in der Doku.

Leider habe ich keine andere Lösung gefunden. Wenn sie doch jemand weiß, bitte melden!
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Für so etwas nehme ich immer QAction, die ich dann je nach Bedarf ein und ausschalte, ist vielleicht ein bischen weniger als wie es mein Vorredner beschrieben hat, die Wirkung ist aber die gleiche. Und eine wirklich bessere Lösung nach "Eierlegendewollmilchsau" kenne ich leider auch nicht.
Antworten