gpt4 book ai didi

events - 如何在 Haskell 中模拟/欺骗按键事件?

转载 作者:行者123 更新时间:2023-12-04 21:49:58 25 4
gpt4 key购买 nike

如何在 Haskell 中模拟/欺骗按键事件?

我的 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

我不知道如何调度这个事件。无论如何,事实证明 Event 已被弃用,应该使用 EventM。我找到了 widgetEvent :: WidgetClass self => self -> EventM t BoolGraphics.UI.Gtk.Abstract.Widget .在api中它说:

很少使用的功能。此函数用于在小部件上发出事件信号(如果不使用此函数,则不应发出这些信号)。如果你想合成一个事件,不要使用这个函数;相反,使用 mainDoEvent 使事件的行为就像在事件队列中一样。

所以我看了 mainDoEvent :: EventM t ()Graphics.UI.Gtk.General.General但我不确定如何使用 EventM创建按键但找不到 mainDoEvent 的示例正在使用。任何人都可以告诉我如何使用 EventM 创建按键事件并将其传递给 mainDoEvent或其他一些方法来做到这一点?谢谢。

最佳答案

生成事件是错误的方式。相反,您应该使用适合您的文本小部件的适当功能插入您的文本。例如,对于 TextBuffer s,使用 textBufferInsertAtCursor .

关于events - 如何在 Haskell 中模拟/欺骗按键事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6696437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com