This question объясняет, как обнаружить ctrl + click в pygtk.Обнаружение события Ctrl + click в lablgtk
Это также работает на Lablgtk? Или есть более простой способ сделать это?
This question объясняет, как обнаружить ctrl + click в pygtk.Обнаружение события Ctrl + click в lablgtk
Это также работает на Lablgtk? Или есть более простой способ сделать это?
В lablgtk существует более прямое решение, хотя это не сразу очевидно.
От щелчка мыши события ev
(типа GdkEvent.Button.t
), вы можете обнаружить события, такие как Ctrl + клик/переход + щелчок GdkEvent.Button.state
и Gdk.Convert.modifier
), как показано в следующем примере:
let state = GdkEvent.Button.state ev in
let modifiers = Gdk.Convert.modifier state in
let button = GdkEvent.Button.button ev in
if button = 1 && List.mem `CONTROL modifiers then
(* Ctrl+left click *) ...
else if button = 3 && List.mem `SHIFT` modifiers then
(* Shift+right click *) ...
типа списка модификаторов Gdk.Tags.modifier
.