Jos*_*edy 5 gtk events haskell keypress
如何在Haskell中模拟/欺骗keypress事件?
我的Gui中有一个屏幕数字键盘,我想用它来写入窗口中的一些文本.键盘由按钮小部件组成,我想要做的是让onButtonClicked处理程序发送一个,keyPressEvent以便将相应的字符/数字写入具有焦点的文本条目中.我开始看着Graphics.UI.Gtk.Gdk.Events并做了一个按键事件
Event my1Event = Key True True Graphics.UI.Gtk.Gdk.Events.currentTime [] False False False 0xffb1 "KP_1" Nothing
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何发送此事件.无论如何,事实证明事件已被弃用,应该使用EventM.我找到widgetEvent :: WidgetClass self => self -> EventM t Bool了Graphics.UI.Gtk.Abstract.Widget.在API中它说:
很少使用的功能.此函数用于在窗口小部件上发出事件信号(不应使用此函数执行此类信号,不应发出这些信号).如果你想合成一个事件,不要使用这个功能; 相反,使用mainDoEvent使事件的行为就像它在事件队列中一样.
所以我看了一下mainDoEvent :: EventM t (),Graphics.UI.Gtk.General.General但不确定如何使用EventM创建按键,无法找到使用中的示例mainDoEvent.任何人都可以建议我如何创建一个按键事件EventM并将其传递给mainDoEvent其他方式来执行此操作?谢谢.