问题描述
我正在使用 gtk-rs
并且希望能够检测到何时按下了任何键。
从网上的一些搜索来看,在 C 中这样做的方法似乎是先使用 gtk_widget_add_events
,然后使用 g_signal_connect
。 This answer 有很好的解释。
在 Rust 中,我可以调用 Widget::add_events
。我还找到了 g_signal_connect_*
的几个定义。但是,这些函数是 unsafe
,未记录,并且似乎将 C 类型作为参数。
我的问题是:
- 为了使用
gobject_sys::g_signal_connect_closure
,我该如何创建GObject
和GClosure
。在 Rust 中? Rust 结构体和闭包可以转换成那样吗? - 是否有更好、更惯用的方式来监听关键事件?我很难相信做这样一件基本的事情会需要这样一个深奥的界面。我已经看到了对特定键盘快捷键或键盘加速组的一些支持,但我找不到任何仅用于侦听按键事件的文档或示例。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)