检测Ctrl+;单击lablgtk中的事件
解释如何在pygtk中检测ctrl+单击检测Ctrl+;单击lablgtk中的事件,gtk,mouseevent,ocaml,lablgtk,Gtk,Mouseevent,Ocaml,Lablgtk,解释如何在pygtk中检测ctrl+单击 它是否也适用于Lablgtk?或者有更简单的方法吗?在lablgtk中,有一个更直接的解决方案,尽管它不是很明显 从鼠标单击事件ev(类型为GdkEvent.Button.t)中,您可以检测诸如使用GdkEvent.Button.state和Gdk.Convert.modifier按ctrl+click/shift+click等事件,如以下示例所示: let state = GdkEvent.Button.state ev in let modifier
它是否也适用于Lablgtk?或者有更简单的方法吗?在lablgtk中,有一个更直接的解决方案,尽管它不是很明显 从鼠标单击事件
ev
(类型为GdkEvent.Button.t
)中,您可以检测诸如使用GdkEvent.Button.state
和Gdk.Convert.modifier
按ctrl+click/shift+click等事件,如以下示例所示:
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