首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在gWidgets中绑定ESC键以关闭“`gwindow()”?

如何在gWidgets中绑定ESC键以关闭“`gwindow()”?
EN

Stack Overflow用户
提问于 2014-07-12 08:54:28
回答 2查看 406关注 0票数 0

考虑:

代码语言:javascript
复制
require(gWidgets2)
w <- gwindow("notebook example", visible=T)
nb <- gnotebook(container=w)
gbutton("Page one", label="tab 1", container=nb) ## note label argument
gbutton("Page two", label="tab 2", container=nb)

如何绑定给定的键(例如,ESC)以关闭gWidgets中的gwindow(),即执行dispose(w)?换句话说,如何在gWidgets中分配键绑定?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-12 13:03:12

使用RGtk2 (可能还有其他方法),可以使用addHandlerKeystroke方法来捕获击键。您必须深入研究h对象以捕获ESC键。这方面没有任何可移植的代码,但是Gtk文档应该能够提供帮助。

票数 1
EN

Stack Overflow用户

发布于 2014-07-12 20:01:37

根据公认的答案,我必须:

代码语言:javascript
复制
addHandlerKeystroke(w, function(h, ...){
    browser()
})

然后打开w窗口并点击ESC,然后在browser()终端中:

代码语言:javascript
复制
print(h)

并注意到:

代码语言:javascript
复制
Browse[1]> h$key
[1] "\033"

然后,下面的处理程序执行我想要的操作:

代码语言:javascript
复制
h_esc <- addHandlerKeystroke(w, function(h, ...){
    if(h$key=="\033") dispose(w)
})

根据how to program window to close with escape keyHow to define ESC char in git?,似乎ESC通常被捕获为\033

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24711308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档